lvm入门

来源:互联网 发布:淘宝直播好做吗 编辑:程序博客网 时间:2024/06/06 18:28

LVM逻辑卷管理器:
虚拟机软件为虚拟机添加两块虚拟硬盘(可能增加多块磁盘也可以,还没有试过),添加之后重启虚拟机,重启后我的电脑新增加的两块磁盘分别为sdb,sdc,接着打开终端,输入以下命令
如果不想重启电脑,直接识别新增硬盘,可以输入下面三条命令,然后就能看到sdb了
[root@localhost ~]# echo ‘- - -‘> /sys/class/scsi_host/host0/scan
[root@localhost ~]# echo ‘- - -‘> /sys/class/scsi_host/host1/scan
[root@localhost ~]# echo ‘- - -‘> /sys/class/scsi_host/host3/scan

pvcreate /dev/sdb /dev/sdc   使sdb和sdc支持LVM逻辑卷管理技术vgcreate storage /dev/sdb /dev/sdc  使sdb和sdc加入到storage组中,该组会自动创建lvcreate -n vo -l 37 storage  切割出一个大小为150M的逻辑设备,-n命名改卷名字,-l 37 大小为37*4M,如果是-L  200M的话,就是直接生成一个大小为200M的(例如lvcreate -n vo -L 150M storage)

lvdisplay以及vgdisplay 查看逻辑区情况命令
mkfs.ext4 /dev/storage/vo 格式化(如果想格式化为ext3,可以写为mkfs.ext3)
mkdir /bplvm用来挂载文件系统
mount /dev/storage/vo /bplvm
echo “/dev/storage/vo /bplvm ext4 defaults 0 0 “>>/etc/fstab 开机自动挂载(如果不执行这条命令,那么mount -a需要改为mount /dev/storage/vo /bplvm)
umount /bplvm 卸载目录,为后面扩展卷做准备
lvextend -L 290M /dev/storage/vo 扩展为290M
e2fsck -f /dev/storage/vo 检查磁盘完整性
resize2fs /dev/storage/vo 重置硬盘容量(应该是相当于更新磁盘的意思吧),扩容的话是先扩容再检查最后重置并挂载,减容的话就是先检查磁盘完整性再重置大小并挂载
mount -a
df -h 查看磁盘容量
umount /bplvm 为后面缩小逻辑卷做准备
e2fsck -f /dev/storage/vo
resize2fs /dev/storage/vo 120M 将磁盘容量减少至120M
lvreduce -L 120M /dev/storage/vo 减少120M(如果执行完上面那条命令再执行这条,应该会减为0M了吧,没试过)
磁盘快照的使用(快照好像只可以使用一次,用过后自动删除)
首先在 /bplvm 下随便创建一个文件,如a.txt
然后执行命令 lvcreate -L 120M -s -n SNAP /dev/storage/vo 生成一个快照,-L指定大小,-s生成快照,-n命名
使用dd if=/dev/zero of=/bplvm/files count=1 bs=100M 产生一个大小为100M的files垃圾文件
umount /bplvm 为后面恢复快照做准备
lvconvert –merge /dev/storage/SNAP 把vo恢复成SNAP的意思
mount -a 后查看/bplvm,可以发现里面有原来的a.txt,但没有后面创建的垃圾文件files
删除逻辑卷:
umount /bplvm
vim /etc/fstab 删除自己添加的那条挂载vo的命令的那行
lvremove /dev/storage/vo 删除LV逻辑卷设备
vgremove storage 删除VG卷组
pvremove /dev/sdb /dev/sdc 删除PV物理卷设备
注意删除的顺序是按照上面的删除顺序的,跟增加时正好相反,不能乱来

实例:
使用lvm存储结构的主机需要扩容,现在我们已经将一个新的硬盘安装上去,将该新的硬盘的空间全部增加到主机上

   20  ls /dev/sd*          #查看新增加的硬盘名,我的为xvdb   21  ls /dev   22  fdisk -l                23  fdisk /dev/xvdb      #对其进行操作   24  pvcreate /dev/xvdb1  #增加物理卷   25  vgdisplay            #查看组,组名为cl   26  vgextend cl /dev/xvdb1  #扩展/dev/xvdb1到cl组   27  vgdisplay   28  lvdisplay               #获取lv路径   29  lvresize -l +127999 /dev/cl/root  #-l指定大小,因为前面已经vgextend,127999这个值可以从lvdisplay这里获取   30  df -h   31  df -Th   32  xfs_growfs /dev/cl/root    #xfs_growfs会自动扩展至最大可用值   33  df -h
原创粉丝点击