LVM
(有点像WIN下的动态磁盘,把硬盘空间分配成逻辑卷的方法,这样硬盘就不必要使用分区而被简易地重划大小)
优点:随意扩展或缩小某个分区的大小,前提这个分区是逻辑卷管理的
1.创建LVM的顺序:①物理分区-②物理卷-卷组-逻辑卷-挂载到目录
步骤:
2.①物理分区
fdisk /dev/sdX(硬盘代号)
参数:D删除一个分区
N创建一个分区
Q 不保存退出
T改变分区ID
W保存退出
 
分区过程中指定分区的ID号,不能按照默认的形势,所以要按t,然后选择第几个,比如是
sdb1,就填入1,然后输入8eLVMID号)
  
然后用partprobe命令使分区立即生效而不必重启
 
接着格式化分区mkfs.ext3 /dev/sdX1(1”指第一个分区)
 
跟着是建立目录用于挂载,当在挂载点下看到LOST+fount目录说明成功
 
如果想使分区开机自动挂载,修改/etc/fstab文件,添加如下一行:
设备号          挂载点    文件类型  权限(默认)    默认
LABEL=/dev/sdX1     /mnt/sdb    ext3    defaults        0 0
 
 
②物理卷(/dev/sdb1为例)
建立:pvcreate /dev/sdb1
查看:pvdisplay
从硬盘驱动器中创建物理卷(physical volumes-PV)。
从物理卷中创建卷组(volume groups-VG)。
从卷组中创建逻辑卷(logical volumes-LV),并分派逻辑卷挂载点 
其中只有逻辑卷才可以写数据
 
卷组
建立:vgcreate myvg(自定义的卷组名)  /dev/sdb1
查看:vgdisplay
 
逻辑卷
建立:lvcreate –L 大小 卷组名 –n 逻辑卷名称
     我从卷组里分100M来建立逻辑卷
      #Lvcreate –L 100M myvg –n mylv1
 
挂载到目录
先格式化:mkfs.ext3 /dev/myvg/mylv1
然后就是建立挂载目录来挂载
   #mkdir /mnt/mylv1
   #mount /dev/myvg/mylv1 /mnt/mylv1
 
现在查看一下:lvdisplay;如果想要查看逻辑卷挂载到哪了,用mount命令,最后一行会显示。
 
现在我们再在刚才的卷组里面划分一个逻辑卷mylv2出来,大小是150M,文件格式为ext3,挂载到/mnt/mylv2
#lvcreate -L 150M myvg -n mylv2
#mkfs.ext3 /dev/myvg/mylv2
#mkdir /mnt/mylv2
#mount -t ext3 /dev/myvg/mylv2 /mnt/mylv2 
就这四条命令就OK了哈~
3.如果要改变现有逻辑卷的大小
现在mylv1100Mmylv2150M。要把mylv2减小50M,这减小的50M添加到mylv1
#lvresize -L 绝对大小 对象
#lvresize -L 100M /dev/myvg/mylv2 
然后确定大小
#resize2fs /dev/myvg/mylv2                         注意:此时会出错
 
正确方法:
对于lvm,如果是扩大某个lv,操作比较简单,但如果是缩小lv,则有一定的风险。我们先要缩小/dev/myvg/lv2文件系统,然后才能缩小lvm,如果在缩小lvm之前忘了缩小文件系统,这时候可以这样来挽救:
1
:不要进行对该分区的任何写入操作,最好是也不read
2
:用lvresize2fs重新扩大该分区,且扩大的容量是刚刚缩小的容量(数字一定要和刚刚的一致哈~)。
3
:缩小文件系统
4
:最后缩小逻辑卷哈。
5
:确认文件系统和逻辑卷大小一致。
#umount /mnt/mylv2                  先要卸载挂载
#lvresize –L 150M /dev/myvg/mylv2     重新扩大到原来大小
#e2fsck –f /dev/myvg/mylv2            确认文件系统和逻辑卷大小一致
#resize2fs /dev/myvg/mylv2 100M       确认分区(使命令生效)
#lvresize –L 100M /dev/myvg/mylv2     重新设定大小
        此时需要输入y
#e2fsck –f /dev/myvg/mylv2
#mount /dev/myvg/mylv2 /mnt/mylv2
这样就缩小了mylv2的大小
现在添加到mylv1
#lvresize –L 150M /dev/myvg/mylv1
#e2fsck –f /dev/myvg/mylv1
#resize2fs /dev/myvg/mylv1