文章目录
- 1. 在vmware添加多块20G的硬盘,并创建分区
- 2. 创建一个至少有两个PV组成的大小为20G的名为testvg的VG,要求PE大小为16M,而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录
- 3. 新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d/目录至自己的家目录
- 4. 扩展testlv至7G,要求archlinux用户的文件不能丢失
- 5. 收缩testlv至3G,要求archlinux用户的文件不能丢失
- 6. 对testlv创建快照,并尝试基于快照备份数据,验正快照的功能
- 7. 创建10G的RAID1,要求CHUNK为128K,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录
- 8. 创建一个可用空间为10G的RAID10设备,要求CHUNK为256K,文件系统为ext4,开机可自动挂载至/mydata目录
1. 在vmware添加多块20G的硬盘,并创建分区
查看硬盘情况,添加了sdb和sdc,但还没分区。
[root@centos-server ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 8G 0 part [SWAP]
└─sda3 8:3 0 21.5G 0 part /
sdb 8:16 0 20G 0 disk
sdc 8:32 0 20G 0 disk
sr0 11:0 1 1024M 0 rom
对硬盘设备做分区
# 启动分区工具
fdisk /dev/sdb
# 创建新分区
n
# 选主分区
p
# 分区号
回车,默认1
# 起始扇区
回车,默认2048
# 结束扇区
+10G
# 保存退出
w
硬盘sdc使用相同方法,得到两块各10G的分区,用于后续的pv创建。
[root@centos-server ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 30G 0 disk
├─sda1 8:1 0 500M 0 part /boot
├─sda2 8:2 0 8G 0 part [SWAP]
└─sda3 8:3 0 21.5G 0 part /
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 10G 0 part
sdc 8:32 0 20G 0 disk
└─sdc1 8:33 0 10G 0 part
sr0 11:0 1 1024M 0 rom
2. 创建一个至少有两个PV组成的大小为20G的名为testvg的VG,要求PE大小为16M,而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录
# 创建pv
sudo pvcreate /dev/sdb1
sudo pvcreate /dev/sdc1
# 查看pvs
sudo pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 lvm2 --- 10.00g 10.00g
/dev/sdc1 lvm2 --- 10.00g 10.00g
# 创建vg
sudo vgcreate -s 16M testvg /dev/sdb1 /dev/sdc1
# 查看vgs
sudo vgs
VG #PV #LV #SN Attr VSize VFree
testvg 2 0 0 wz--n- <19.97g <19.97g
# 创建lv
sudo lvcreate -L 5G -n testlv testvg
# 查看lvs
sudo lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
testlv testvg -wi-a----- 5.00g
xfs文件系统不支持LV缩容,这里使用ext4文件系统。
格式化lv,挂载目录
# 创建的lv必须先格式化才能使用
sudo mkfs.ext4 /dev/testvg/testlv
# 创建用于挂载的目录
mkdir /users
# 手动挂载,但重启后失效
mount /dev/testvg/testlv /users
# 自动挂载,重启后生效
echo "/dev/testvg/testlv /users ext4 defaults 0 0" >> /etc/fstab
mount -a
# 检查挂载情况
df -h
/dev/mapper/testvg-testlv 4.8G 20M 4.6G 1% /users
# ext4的特色,有失物招领目录
ls /users
lost+found
3. 新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d/目录至自己的家目录
useradd -d /users/archlinux archlinux
su - archlinux
cp -a -r /etc/pam.d/ /users/archlinux/
ls ~
pam.d
4. 扩展testlv至7G,要求archlinux用户的文件不能丢失
# 创建测试文件
echo 123 > /users/archlinux/a.txt
echo 456 > /users/archlinux/b.txt
ls /users/archlinux
a.txt b.txt pam.d
# 扩容到7G
lvextend -L 7G /dev/testvg/testlv
# 一定要重置文件系统大小
resize2fs /dev/testvg/testlv
# 重新挂载
mount /dev/testvg/testlv /users
# 检验扩容结果
df -h
/dev/mapper/testvg-testlv 6.8G 23M 6.4G 1% /users
# 查看旧文件,没有丢失
ls /users/archlinux
a.txt b.txt pam.d
5. 收缩testlv至3G,要求archlinux用户的文件不能丢失
# 首先解除挂载
umount /dev/testvg/testlv
# 然后检查ext文件系统
e2fsck -f /dev/testvg/testlv
# 和扩容不同,缩容先重置文件系统大小,并指定大小。
resize2fs /dev/testvg/testlv 3G
# 缩容到3G
lvreduce -L 3G /dev/testvg/testlv
是否缩容 y
# 再次检查ext文件系统,可选
e2fsck -f /dev/testvg/testlv
# 最后挂载目录
mount /dev/testvg/testlv
# 检验扩容结果
df -h
/dev/mapper/testvg-testlv 2.9G 22M 2.7G 1% /users
# 查看旧文件,没有丢失
ls /users/archlinux
a.txt b.txt pam.d
6. 对testlv创建快照,并尝试基于快照备份数据,验正快照的功能
备份:
# L快照大小,s创建快照,n快照名字 pr权限只读
lvcreate -L 1G -s -n data-snapshot -p r /dev/testvg/testlv
# 创建用于保存快照的目录,将快照挂载到目录
mkdir /snaps
mount /dev/testvg/data-snapshot /snaps
# 显示当前目录
ls /users/archlinux
a.txt b.txt pam.d
还原:
# 对原目录文件修改
rm -f /users/archlinux/b.txt
echo 789 > /users/archlinux/c.txt
# 修改后的目录
ls /users/archlinux
a.txt c.txt pam.d
# 先卸载lv和snap,再还原快照
umount /dev/testvg/testlv
umount /dev/testvg/data-snapshot
sudo lvconvert --merge /dev/testvg/data-snapshot
# 检查还原情况
mount /dev/testvg/testlv
ls /users/archlinux
a.txt b.txt pam.d
删除:
# 快照还原后,会自动删除快照和挂载。当然也可以手动删除。
umount /dev/testvg/data-snapshot
lvremove /dev/testvg/data-snapshot
是否删除 y
7. 创建10G的RAID1,要求CHUNK为128K,文件系统为ext4,有一个空闲盘,开机可自动挂载至/backup目录
# 添加3块硬盘,查看块设备
sudo lsblk
sdd 8:48 0 10G 0 disk
sde 8:64 0 10G 0 disk
sdf 8:80 0 10G 0 disk
# C创建 a自动 l级别 c块大小 n块设备 x空闲盘
mdadm -C /dev/md1 -a yes -l 1 -c 128 -n 2 -x 1 /dev/sdd /dev/sde /dev/sdf
# 会提示软raid无法用做boot启动盘,可忽略
是否继续 y
# 查看软raid状态
mdadm -D /dev/md1
# spare /dev/sdf
# 格式化设备
sudo mkfs.ext4 /dev/md1
# 挂载设备
mkdir /backup
echo "/dev/md1 /backup ext4 defaults 0 0" >> /etc/fstab
mount -a
# 查看设备容量
df -h
/dev/md1 9.8G 20M 9.6G 1% /backup
8. 创建一个可用空间为10G的RAID10设备,要求CHUNK为256K,文件系统为ext4,开机可自动挂载至/mydata目录
# 再添加4块硬盘,查看块设备
sudo lsblk
sdg 8:96 0 5G 0 disk
sdh 8:112 0 5G 0 disk
sdi 8:128 0 5G 0 disk
sdj 8:144 0 5G 0 disk
# C创建 a自动 l级别 c块大小 n块设备 x空闲盘
mdadm -C /dev/md10 -a yes -l 10 -c 256 -n 4 /dev/sd{g..j}
# 会提示软raid无法用做boot启动盘,可忽略
是否继续 y
# 查看软raid状态
mdadm -D /dev/md10
# Raid Level : raid10
# 格式化设备
sudo mkfs.ext4 /dev/md10
# 挂载设备
mkdir /mydata
echo "/dev/md10 /mydata ext4 defaults 0 0" >> /etc/fstab
mount -a
# 查看设备容量
df -h
/dev/md10 9.8G 24K 9.3G 1% /mydata