Linux 第15天: (08月29日) 練習和做業linux
管理磁盤配額數據庫
fdisk
partx -a /dev/sdavim
mount /dev/sda6 /home
df
cd /home
mv * /homeapp
vim /etc/fstab 啓用磁盤配額掛載選項ide
:r!blkid /dev/sda6 /home ext4 default 0 0
:r!blkid /dev/sda6 /home ext4 usrquota,grpquota 0 0spa
mount -o remount /dev/sda6rem
cdget
getenforce \
setenforce 0
getenforceit
quotacheck -c -u -g /home 建立磁盤配額數據庫class
cd /home
file aquota.*
quotaon -p /home 查看磁盤配額
quotaon /home 啓用磁盤配額
edquato user1 編輯磁盤配額
quota user1 查看磁盤配額
repquota /home 查看磁盤配額
edquota -p user1 user2 複製磁盤配額
repquota /home 查看磁盤配額
setquota user2 1000 2000 0 0 /home 非交互命令磁盤配額
quota user1 查看磁盤配額
repquota /home 查看磁盤配額
管理磁盤raid
fdisk t fd (raid格式)
partx -a /dev/sdd
lsblk
mdadm -C /dev/md0 -a yes -l 5 -n 4 -x 1 /dev/sd{b,c,d,e,f}1 創建raid5
mdadm -G /dev/md0 -n 6 -a /dev/sdd4 增長一個硬盤
mdadm -D /dev/md0
cat /proc/mdstat 觀察狀態
mkfs.ext4 /dev/md0
vim /etc/fstab
:r! UUID="..." /mnt/raid ext4 defaults 0 0
mdadm -Ds /dev/md0 > /etc/mdadm.conf 生成配置文件
mdadm -S /dev/md0 中止raid
mdadm -A /dev/md0 啓動raid
mdadm /dev/md0 -f /dev/sdf1 模擬損壞
mdadm /dev/md0 -r /dev/sdf1 刪除成員
mdadm /dev/md0 -a /dev/sdf1 增長成員
umount /mnt/raid/
mdadm -S /dev/md0
rm -f /etc/mdadm.conf
fdisk d 逐一刪除分區
partx -d --nr 7 /dev/sda
blkid
vim /etc/fstab 刪除raid的UUID
mdadm --zero-superblock /dev/sdd 完全清除頑固信息
=========================================
dd if=/dev/sdb of=/dev/sdc bs=1 count=512
dd if=/dev/sdb of=/dev/sdd bs=1 count=512
dd if=/dev/sdb of=/dev/sde bs=1 count=512
dd if=/dev/sdb of=/dev/sdf bs=1 count=512
partx -a /dev/sdc
partx -a /dev/sdd
partx -a /dev/sde
partx -a /dev/sdf
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x l /dev/sd{c,d,e,f}
mdadm -D /dev/md0
cat /proc/mdstat
watch -n 1 cat /proc/mdstat
mdadm -Ds /dev/md0 > /etc/mdadm.conf
mkfs.ext4 /dev/md0
vim /etc/fstab
/dev/md0 /mnt/raid ext4 defaults 0 0
mkdir /mnt/raid
mount -a
df -h
mdadm /dev/md0 -f /dev/sdc
cat /proc/mdstat
mdadm /dev/md0 -r /dev/sdc
mdadm /dev/md0 -a /dev/sdc
管理物理卷pv, 卷組vg, 邏輯卷lv
pvs
pvdisplay
pvcreate /dev/sde 創建物理卷
pvcreate /dev/sdf 創建物理卷
pvs
pvdisplay
vgcreate vg0 /dev/sde /dev/sdf 創建卷組
pvs
pvdisplay
vgs
vgdisplay
lvcreate -n lv0 -L 20G vg0 創建邏輯卷
pvs
pvdisplay
vgs
vgdisplay
lvs
lvdisplay
ll /dev/vg0/lg0
ll /dev/mapper/vg0-lv0
blkid UUID 正確的UUID
lvdisplay UUID 錯誤的UUID
vim /etc/fstab 掛載邏輯卷
:r!blkid /dev/vg0/lv0 UUID /mnt/lv0 ext4 defaults 0 0
mkdir /mnt/lv0
mount -a
df -h
lvextend -l +100%FREE /dev/vg0/lv0 擴展邏輯卷
lvextend -L +10G /dev/vg0/lv0 擴展邏輯卷
df -h
lvs
resize2fs /dev/vg0/lv0 格式化邏輯卷
df -h
lvs
lsblk
pvcreate /dev/sdd 創建物理卷
pvs
vgextend vg0 /dev/sdd 擴展卷組
vgs
lvextend -L +20G /dev/vg0/lv0 擴展邏輯卷
resize2fs /dev/vg0/lv0 格式化邏輯卷
pvcreate /dev/sde
pvs
vgcreate vg0 -s 16M /dev/sde
pvs
vgdisplay
lvcreate -n mylv -L 10G vg0
lvs
lvdisplay
pvcreate /dev/sdc
vgextend vg0 /dev/sdc 擴展卷組
mkfs.xfs /dev/vg0/mylv
blkid
mkdir /mnt/mylv
mount /dev/vg0/mylv /mnt/mylv
df -h
lvextend -L +5G /dev/vg0/mylv 擴展
邏輯卷
resize2fs ext格式
xfs_growfs /mnt/mylv/ xfs格式
lvs
vgs
lvextend -r -l +100%FREE /dev/vg0/mylv 擴展邏輯卷
df -h
lvs
vgsdisplay
umount /mnt/lv0/
e2fsck -f /dev/vg0/lv0 檢查文件系統
resize2fs /dev/vg0/lv0 10G 縮減文件系統
lvreduce -L 10G /dev/vg0/lv0 縮減邏輯卷
mount -a
pvmove /dev/sdb 搬移物理卷空間
vgreduce vg0 /dev/sdb 卷組裏刪物理卷
pvremove /dev/sdb 刪除物理卷
lvextend -r -L +2G /dev/vg0/lv0 擴展邏輯卷
lvcreate -n lv0-snapshot -s -p r -L 10G /dev/vg0/lv0
lvs
lvdisplay
mkdir /mnt/snapshot
mount /dev/vg0/lv0-snapshot /mnt/snapshot
umount /mnt/lv0/
umount /mnt/snapshot
lvremove /dev/vg0/lv0
vgremove vg0
fdisk d
vim /etc/fstab
rm -rf snapshot
練習
1:建立一個可用空間爲1G的RAID1設備,要求其chunk大小爲128k,文件系統爲ext4,有一個空閒盤,開機可自動掛載至/backup目錄
lsblk
fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd
partx -a /dev/sdb
partx -a /dev/sdc
partx -a /dev/sdd
lsblk
mdadm -C /dev/md0 -a yes -l 1 -n 2 -x 1 -c 128k /dev/sd{b,c,d}
mdadm -D /dev/md0
cat /proc/mdstat
mkfs.ext4 /dev/md0
vim /etc/fstab
:r! UUID="......" /backup ext4 defaults 0 0
mdadm -Ds /dev/md0 > /etc/mdadm.conf
mdadm -A /dev/md0
2:建立由三塊硬盤組成的可用空間爲2G的RAID5設備,要求其chunk大小爲256k,文件系統爲ext4,開機可自動掛載至/mydata目錄
lsblk
fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd
fdisk /dev/sde
partx -a /dev/sdb
partx -a /dev/sdc
partx -a /dev/sdd
partx -a /dev/sde
lsblk
mdadm -C /dev/md0 -a yes -l 5 -n 4 -x 1 -c 256k /dev/sd{b,c,d}
mdadm -D /dev/md0
cat /proc/mdstat
mkfs.ext4 /dev/md0
vim /etc/fstab
:r! UUID="......" /mydata ext4 defaults 0 0
mdadm -Ds /dev/md0 > /etc/mdadm.conf
mdadm -A /dev/md0
練習
一、建立一個至少有兩個PV組成的大小爲20G的名爲testvg的VG;要求PE大小爲16MB, 然後在卷組中建立大小爲5G的邏輯卷testlv;掛載至/users目錄
二、新建用戶archlinux,要求其家目錄爲/users/archlinux,然後su切換至archlinux用戶,複製/etc/pam.d目錄至本身的家目錄
三、擴展testlv至7G,要求archlinux用戶的文件不能丟失
四、收縮testlv至3G,要求archlinux用戶的文件不能丟失
五、對testlv建立快照,並嘗試基於快照備份數據,驗正快照的功能
pvdisplay
pvcreate /dev/sdb
pvcreate /dev/sdc
pvdispaly
vgcreate testvg /dev/sdb /dev/sdc
vgdisplay
lvcreate -n testlv -L 5G testvg
lvdisplay
vim /etc/fstab
:r!blkid /dev/testlv UUID /users ext4 defaults 0 0
useradd archlinux -d /users/archlinux
su - archlinux
copy /etc/pam.d /home/archlinux/
lvextend -L 7G /dev/testvg/testlv
resize2fs /dev/testvg/testlv
lvdisplay
umount /users/testlv
e2fsck -f /dev/testvg/testlv
resize2fs /dev/testvg/testlv 3G
lvreduce -L 3G /dev/testvg/testlv
mount -a
lvcreant -n testlv-snapshot -s -p r -L 3G /dev/testvg/testlv
mkdir mnt/snapshot
mount /dev/testvg/testlv /mnt/snapshot
實驗ext4和btrfs互轉
btrfs balance start -dconvert=single /mydata
btrfs balance start -mconvert=raid1 /mydata
btrfs device delete /dev/sdd /mydata
fdisk /dev/sdd分區
mkfs.ext4 /dev/sdd1
mount /dev/sdd1 /mnt
cp /etc/fstab /mnt
umount /mnt/
fsck -f /dev/sdd1
btrfs-convert /dev/sdd1 轉化ext4爲btrfs
btrfs fikesystem show
mount /dev/sdd1 /mnt
實驗ext4和btrfs互轉
btrfs轉化ext4文件系統umount /mntbtrfs-convert -r /dev/sdd1blkid /dev/sdd1再轉換成btrfsbtrfs-convert /dev/sdd1