RHEL本地存储管理:逻辑卷管理
RHEL本地存储管理:逻辑卷管理
·
项目一
1. 创建一个至少有两个PV组成的大小为20G的名为testvg的 VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻 辑卷testlv;挂载至/users目录。
- 准备两个10G的分区(linux LVM)。
在这里,我新建了一块大小为20G的硬盘名为:sdd。
使用分区工具fdisk创建LVM分区,通过t命令将LVM分区类型改为8e。
保存退出后,需要重启系统使分区生效。或者在创建新的分区后,需要执行partprobe,将磁盘分区的变化信息通知内核,请求操作系统重新加载分区表。不然很有可能找不到你新建的分区。
fdisk /dev/sdd
- 创建PV物理卷、查看PV物理卷。
将上个步骤产生的分区当作LVM物理卷,使用pvcreate DEVICE将分区修改为LVM物理卷。
pvcreate /dev/sdd{1..2} //创建物理卷
pvs //查看物理卷
- 创建VG卷组,查看分配的PE相关信息。
LVM每一个卷组都是有一个或多个物理卷组合而成,使用vgcreate命令建立卷组。
vgcreate VGNAME PVDEVICES
vgcreate -s 16M testvg /dev/sdd{1..2}
vgs
- 创建5G的逻辑卷,名称为testlv,查看LV列表。
产生出卷组后,就可以从卷组中划分一块空间作为逻辑卷。
lvcreate [-L SIZE] - n LVNAME VGNAME
其中SIZE是逻辑卷大小,LVNAME是逻辑卷识别名称,VGNAME是卷组识别名称。
lvcreate -L 5G -n testlv testvg
lvs
- 创建文件系统(格式化为ext4文件系统类型)。
当逻辑卷创建完成后,要能够识别并使用RED HAT Enterprise Linux必须创建文件系统,建议使用ext4专有格式。
mkfs -t ext4 /dev/testvg/testlv
blkid /dev/testvg/testlv //检查是否分配UID
- 创建一个目录并挂载,查看分区情况及大小。
mkdir /users
mount /dev/testvg/testlv /users
df -h |grep users
- 设置自动挂载。
2.新建用户archlinux,要求其家目录为/users/archlinux,而后su切换至archlinux用户,复制/etc/pam.d目录至自己的家目录。
- 创建用户并指定其家目录。
mkdir /users //如果之前已经创建了,此步跳过。
useradd -d /users/archlinux archlinux
- 切换用户,并复制文件。
su - archlinux
cp -a /etc/pam.d .
- 查看文件个数。
ls /users/archlinux/pam.d/ |wc -l
3.扩展testlv至7G,要求archlinux用户的文件不能丢失。
- 先检查需要扩展的大小,VG是否有足够可用空间。
vgs
- 查看逻辑卷
lvs
- 扩展逻辑卷大小。
放大逻辑卷:lvextend -L SIZE LV_DEVICE
lvextnd -L +2G /dev/testvg/testlv
- 再次查看逻辑卷大小。
lvs
- 查看拷贝的pam.d目录下的文件个数。
ls /users/archlinux/pam.d |wc -l
4.收缩testlv至3G,要求archlinux用户的文件不能丢失。
- 卸载文件系统。
umount /users
- 检查文件系统是否完好。
e2fsck -f /dev/testvg/testlv
- 设置文件系统大小。
resize2fs -p /dev/testvg/testlv 3G
- 缩减逻辑卷。
缩小逻辑卷:lvreduce -L SIZE LV_DEVICE
lvreduce -L 3G /dev/testvg/testlv
- 再次查看逻辑卷大小。
lvs
- 再次挂载。
mount /dev/testvg/testlv /users
df -h|grep users
- 查看pam.d目录中文件个数。
ls /users/archlinux/pam.d |wc -l
5.对testlv创建快照,并尝试基于快照备份数据,验正快照的功能。
- 创建大小为1G只读快照。
利用lvcreate产生一个逻辑卷快照:lvcreate -L SIZE -s -n LVNAME LVDEVICE
lvcreate -n testnap -s -L 1G /dev/testvg/testlv
- 查看快照。
lvdispaly /dev/testvg/testnap
- 创建快照目录并挂载。
如果需要读取逻辑卷快照,只需要挂载逻辑卷快照即可。
mkdir /users/testnap
mount /dev/testvg/testnap /users/testnap
df -h|grep /users/testnap
- 删除/users/archlinux/pam.d中以a开头的文件。
rm -f /users/archlinux/pam.d/a*
ls /users/archlinux/pam.d/ |wc -l
这里文件个数为45了,之前是46
- 查看快照中pam.d中的文件个数。
ls /users/testnap/archlinux/pam.d |wc -l
46个,上步删除没有对此产生影响
- 备份快照卷数据(打包成tar.gz的包)。
tar -zcf /tmp/testnap.tar.gz /users/testnap/archlinux/pam.d/*
- 取消挂载。
umount /users/testnap
df -h|grep users
- 还原文件(解压缩包)
tar -zxf /tmp/testnap.tar.gz -C ./
- 查看原文件个数,数据是否恢复成功?
ls /testnap/archlinux/pam.d/ |wc -l
文件个数为46,数据恢复成功。
项目二
- 创建逻辑卷vshare,卷组的名称为devgroup,PE的大小为16M,共使用50个PE块,文件系统为vfat,要求永久挂载到/mnt/vshare目录下。
(1)、创建一个大小为16*50M以上的分区。这里我创了个1000M的分区。
fdisk /dev/sde
partprobe /dev/sde //创建成功后更新磁盘
(2)、创建PV
pvcreate /dev/sde1
(3)、创建卷组devgroup,PE的大小为16M。
我在创建卷组命名时命名错了,所以改了下命名。
vgcreate -s 16M devgroup /dev/sde1
(4)、创建逻辑卷vshare
lvcreate -l 50 -n vshare devgroup //使用小写-l,表示设置的逻辑卷大小是以PE的块数为单位的。
lvs
vgdispaly devgroup
(5)、文件系统为vfat,要求永久挂载到/mnt/vshare目录下
mkdir -p /mnt/vshare
mkfs -t vfat /dev/devgroup/vshare
mount /dev/devgroup/vshare /mnt/vshare
df -h|grep /mnt/vshare
vi /etc/fstab
shutdown -r now
df -h|grep /mnt/vshare
- 创建一个新分区,大小为2G,将新分区添加到根分区所在的卷组,将根分区的大小增加1.8G。
df -h
(1)、新增一块硬盘,将新添加的磁盘创建大小为2G的分区
lsblk
fdisk /dev/sdf
lsblk
(2)、将sdf1分区创建为物理卷
pvcreate /dev/sdf1
(3)、将新分区添加到根分区所在的卷组
vgdisplay -v
/dev/centos/root:根分区所挂载的逻辑卷路径
centos:根分区所在卷组名字。
lvs
(4)、扩展卷组容量
vgextend centos /dev/sdf1
(5)、扩展根分区所挂载的逻辑卷路径并使扩容生效。
lvextend -L +1.8G /dev/centos/root
lvs
之前为17,增加了1.8G后显示18.8,扩容成功。
lsblk
df -h
容量由17到19G了。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献1条内容
所有评论(0)