Linux 第15天: (08月29日) 練習和做業

Linux 第15天: (08月29日) 練習和做業linux

 

 

 

 

 

管理磁盤配額數據庫

 

 

fdisk
partx -a /dev/sda
vim

mount /dev/sda6 /home
df
cd /home
mv * /home
app

vim /etc/fstab                               啓用磁盤配額掛載選項ide

:r!blkid /dev/sda6  /home  ext4  default  0 0
:r!blkid /dev/sda6  /home  ext4  usrquota,grpquota  0 0
spa

mount -o remount /dev/sda6rem

cdget

getenforce \
setenforce 0
getenforce
it

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

相關文章
相關標籤/搜索