十一月 30th, 2017

 在系统安装时候大多情况下有可能因为考虑不周,导致服务器空间不足问题,这时候如果没有lvm逻辑卷管理工具的话,往往就是查找服务器大文件删除之,或者应用迁移。但如果有了lvm逻辑卷管理,只需要新增硬盘,并将新硬盘的空间划分到不足的分区及可,如果空间浪费也可以减少对应分区的空间,这样可大大增加对空间的利用率

 

在安装系统时使用lvm逻辑卷管理,创建方法如下:

  1. 在系统安装到硬盘分区时选择“创建自定义布局”

    wKiom1k1LcGzbb66AAFq4n0rsNo127.png-wh_50

  2. 首先创建一个/boot分区,/boot分区不能在逻辑卷中,所以先需要创建一个分区给/boot,选中空闲的空间,点击创建,然后点击标准分区,点创建

    wKioL1k1LdnSvC7lAAFHxkDAxq8489.png-wh_50

  3. 创建/boot分区,挂载点选择/boot,大小设定为500,单位为MB,然后固定大小,点击创建,至此/boot分区创建完成

    wKioL1k1Liqy5gdmAAEywcRUpTI203.png-wh_50

  4. 创建lvm物理卷点击剩余的空间,创建,创建时选择“lvm物理卷”

    wKioL1k1LoWwJRTPAAFRpMRMbLU566.png-wh_50

  5. 创建lvm物理卷,文件系统类型默认,空间大小使用全部可用空间,点击创建,至此物理卷创建完毕

    wKioL1k1LqmApsDgAAE-Y-Yf0jQ827.png-wh_50

  6. 从lvm物理卷创建lvm逻辑卷组,选中刚创建的lvm物理卷,然后点创建,创建时选择lvm卷组

    wKioL1k1LuqxSpr7AAFN9dbAphc550.png-wh_50

  7. 从lvm逻辑卷组创建lvm逻辑卷,打开创建卷组对话框,输入卷组名称(随意,看懂就行),然后在下面添加卷组中包含的lvm逻辑卷,我这里在当前卷组分配了2048的swap,再把剩余所有空间分配到了根分区

    wKioL1k1L3nzLQLmAAEiGj5Vymo897.png-wh_50

  8. 效果图

    wKiom1k1L_Hwnu6KAADymZ8ofg8082.png-wh_50

  9. 效果图

    wKioL1k1L_7ihR1dAAApmRiK6Bo654.png-wh_50

通过以上步骤我们已经完成了在系统安装时采用lvm逻辑卷管理的方式

 

在已有系统中增加新硬盘并使用逻辑卷管理:

  1. 新增一块新硬盘(我这里使用的是虚拟机,新增硬盘步骤略)
  2. 将新硬盘初始化为物理卷(我这里新添加的新硬盘为/dev/sdb)

    pvcreate /dev/sdb

    结果为“Physical volume “/dev/sdb” successfully created”代表创建成功

  3. 创建逻辑卷组

    vgcreate VolGroup2 /dev/sdb

    VolGroup2为逻辑卷组的名称,/dev/sdb我们前面已经初始化成物理卷,所以这里我们指定的是物理卷。整条命令的意思是创建一个名为VolGroup2的逻辑卷组,并将/dev/sdb物理卷加入到此逻辑卷组中

    结果为“Volume group “VolGroup2” successfully created”代表创建成功

  4. 创建逻辑卷

    lvcreate -L 5G  -n LogVol01 VolGroup2

    此命令的意思是从VolGroup2卷组创建一个名为LogVol01的逻辑卷

    结果为“Logical volume “LogVol01” created”表示逻辑卷创建成功,成功后会在/dev/mapper目录下生成一个名为VolGroup2-LogVol01名称的逻辑卷文件

  5. 格式化刚创建的VolGroup2-LogVol01逻辑卷

    mkfs.ext4 /dev/mapper/VolGroup2-LogVol01

  6. 将格式化后的逻辑卷挂载到我们服务器的/data目录

    mkdir /data

    blkid | grep VolGroup2-LogVol01

    记住UUID

    编辑/etc/fstab文件,在文件最后加入

    UUID=c0d28e46-c8b8-4d39-a355-b155e2852e36 /data ext4 defaults 0 0

    mount -a

  7. 效果如下

    wKiom1k1OIexys5KAAA0Mxlsl8U843.png-wh_50

  8. 刚才新增的硬盘为10G,只分配了5G的空间给VolGroup2-LogVol01,我们现在再把其它剩余的空间用来给根分区扩容,操作步骤如下:
    1. 从VolGroup2创建一个新的逻辑卷,并使用剩余所有空间

      lvcreate -l 100%FREE  -n LogVol02 VolGroup2

    2. 将新创建的逻辑卷格式化,并挂载到/data2

      mkdir /data2

      mkfs.ext4 /dev/mapper/VolGroup2-LogVol02

      blkid | grep VolGroup2-LogVol02

      echo “UUID=7f427618-22bd-4e98-90ff-7f782d067644 /data2 ext4 defaults 0 0” >> /etc/fstab

      mount -a

    3. 效果如下

      wKiom1k1PfOD7q2aAABB1fS3giM657.png-wh_50

 

增加新硬盘为给现有lvm逻辑卷扩容空间:

  1. 新增一块新硬盘(我这里使用的是虚拟机,新增硬盘步骤略)
  2. 把新硬盘初始化成物理卷

    pvcreate /dev/sdc

  3. 查看VolGroup2逻辑卷组信息

    vgdisplay VolGroup2

    wKiom1k1QI-R5jmVAABiwKY4ugU402.png-wh_50

    从以上信息可以看出VolGroup2共有10G,也就是我们添加的第二块硬盘的大小

  4. 扩容VolGroup2的大小,用我们第三块盘去扩容

    vgextend VolGroup2 /dev/sdc

    查看扩容后的大小,为25G

    wKioL1k1QTPxebqKAABnEQnZg3Q329.png-wh_50

  5. 通过上一步我们已经将VolGroup2 扩容到了25G,也就意味着还有剩余空间没有被分配到逻辑卷,这时候我们可以利用这些剩余空间来增加逻辑卷的大小,但只能增加VolGroup2中的逻辑卷,而VolGroup1中的逻辑卷还需要另外的新硬盘来扩展VolGroup1的空间

    lvextend -L+5G /dev/mapper/VolGroup2-LogVol01

    通过上面的命令,我们将VolGroup2-LogVol01逻辑卷增加了5G的空间

    这时候我们实际显示还是原来的空间,我们需要再执行下面的命令

    resize2fs /dev/mapper/VolGroup2-LogVol01

  6. 最后再查看空间,这时候/data增加了5G

    wKiom1k1R5Ci4ng-AABGHFU3FHc677.png-wh_50

  7. 将第三块硬盘的剩余所有空间,扩展到/data2

    lvextend -l+100%FREE /dev/mapper/VolGroup2-LogVol02

    resize2fs /dev/mapper/VolGroup2-LogVol02

  8. 结果如下

    wKioL1k1SIPTVB7WAABIWhjAVAs289.png-wh_50

  9. 这时候如果我们要扩容根分区的容量,同样的道理,只需要再新增一块新硬盘,然后把硬盘初始化成物理卷,再把物理卷加入到VolGroup1的组里面,然后就可以扩容根分区了
    1. 执行以下命令

      pvcreate /dev/sdd

      vgextend VolGroup1 /dev/sdd

      lvextend -l+100%FREE /dev/mapper/VolGroup1-LogVol01

      在执行上面命令之前我已经对/dev/sdd的空间划分了3G给交换分机文件,详情见下面b步骤

      resize2fs /dev/mapper/VolGroup1-LogVol01

      通过上面命令,根分区也扩容了2G,结果如下

      wKioL1k1Sz3TnjAmAABGrivk5JQ672.png-wh_50wKioL1k1S0XTIxiOAABGrivk5JQ513.png-wh_50

    2. 经测试如果要对lvm的交换分机进行扩容,操作如下:

      lvextend -l+3G /dev/mapper/VolGroup1-LogVol00

      swapoff -a

      mkswap /dev/mapper/VolGroup1-LogVol00

      swapon /dev/mapper/VolGroup1-LogVol00

      这时候交换结果如下:

      wKiom1k1TNyC89eTAAAjmqoimCU132.png-wh_50

Comments are closed.