一、麒麟服务器系统分区说明
1、自动分区
银河麒麟V10服务器版默认的自动分区方案使用的是lvm分区(含root、backup和swap分区),有利于满足后期分区大小的动态调整
如下图可以看到,默认分区方案是将sda2做了LVM,卷组名称为klas,划分为backup、root、swap三个逻辑卷,所以麒麟系统默认分区方案支持根分区、交换分区和备份还原分区的动态扩容,而boot分区为了保证系统运行的安全稳定,是单独做了sda1的独立分区。
2、手动分区
手动分区包含以下四个方案:
a、标准分区:标准分区可以包含文件系统或交换空间,也能提供一个容器,用于软件RAID和LVM物理卷。
b、BTRFS:Btrfs是一个具有几个设备相同的特征的文件系统。它能够处理和管理多个文件,大文件和大体积比的ext2,ext3和ext4文件系统。
c、LVM(逻辑卷):创建一个LVM分区自动生成一个LVM逻辑卷。 LVM可以在使用物理磁盘时,提高性能。普通的磁盘分区管理方式在逻辑分区划分好之后就无法改变其大小,当一个逻辑分区存放不下某个文件时,这个文件因为受上层文件系统的限制,也不能跨越多个分区来存放,所以也不能同时放到别的磁盘上。而遇到出现某个分区空间耗尽时,解决的方法通常是使用符号链接,或者使用调整分区大小的工具,但这只是暂时解决办法,没有从根本上解决问题。随着Linux的逻辑卷管理(LVM)功能的出现,这些问题都迎刃而解,用户在无需停机的情况下可以方便地调整各个分区大小。
d、LVM精简配置:使用自动精简配置,你可以管理的自由空间,被称为精简池,它可以根据需要由应用程序时,可以分配给设备任意数量的存储池。所需的存储空间具有成本效益的分配时,薄池可以动态地扩展。某些分区固定只能是标准分区,即使选择LVM也会自动设置为标准分区。
【注意】
为方便满足后期动态磁盘扩容,建议选择LVM分区方案。
二、根分区扩容
1、lvm分区策略下的扩容
如下图所示,目前系统盘分区采用系统默认的lvm分区方式,整个VG卷组klas总大小约为89G,其中根分区大小约为57G,现在将新添加的10G硬盘sdb扩容到根分区,将根分区大小扩容至67G。
步骤1:创建PV物理卷
# fdisk /dev/sdb //将sdb分区
# pvcreate /dev/sdb1 //创建pv物理卷
# pvs //可以看到/dev/sdb1物理卷已经创建成功,大小为10G
步骤2:扩展VG卷组
# vgs //扩展卷组之前,先看下当前卷组大小,klas卷组大小为89G
# vgextend klas /dev/sdb1 //用新增的sdb1扩展到需要扩充的klas卷组
# vgs //可以看到klas卷组由之前的89G扩容至约99G
步骤3:扩展LV逻辑卷
# lvs //扩展之前查看当前逻辑卷信息
# lvextend -L +9.8G /dev/klas/root //将root逻辑卷增加9.8G,因数值换算原因,无法实际增加10G
# lvs //可以看到root分区增加了近10G,但是此时root分区大小还是扩容前大小,还没有真正生效
步骤4:扩容生效
增对xfs和ext4两种文件系统格式,使用两种不同的扩容生效命令
# blkid //查看文件系统格式
# xfs_growfs /dev/mapper/klas-root //xfs文件系统格式生效root分区的扩容
# resize2fs /dev/mapper/klas-root //如果是ext4文件系统格式使用resize2fs命令
# df -Th //根分区由原来的57G扩容至67G
2、非lvm分区策略下的扩容
方案1:非LVM分区方案下是不推荐扩容调整的,因为这样有数据丢失的风险,如果确实需要容量调整,可以尝试将标准其他分区下的空间进行缩容,将缩容出来的部分增补给需要扩容的分区,比如可以将部分或者全部的/home分区下的空间缩容,增加给根分区,前提是缩容和扩容的分区必须是连续分区,且如果是缩容方案的话必须是ext4文件系统格式,因为xfs格式只支持扩容,不支持缩容,ext4支持扩容和缩容。方法可以参考以下链接:Linux分区调整(LVM和非LVM环境中扩容和缩小) - cyrus0w - 博客园
方案2:将根分区或全部系统整体复制迁移到另一个新的容量比较大的磁盘。把整个Linux系统迁移到另一个硬盘 - 简书
方案3:做一个软链接,将所在分区容量不够的目录关联到其他容量充足的分区目录,软链接支持跨分区链接。
三、swap分区扩容
方法1:LVM扩容
如下图,从新增硬盘sdc中做lvm,划分4G扩容至swap分区
# swapoff /dev/klas/swap //关闭swap空间
# free -m
# fdisk /dev/sdc
# pvcreate /dev/sdc1 //创建pv
# vgextend klas /dev/sdc1 //klas为lvm的卷组名,根据实际情况修改
# lvextend -L +4G /dev/klas/swap //扩容swap
# mkswap /dev/klas/swap //创建swap
# swapon /dev/klas/swap ///打开swap空间
方法2:当前硬盘扩容
非lvm方案,从现有硬盘基础上进行扩容
# free -m //将4Gswap分区扩容至8G
# dd if=/dev/zero of=/root/swapfile bs=1M count=4096 //创建4G文件
# mkswap /root/swapfile //创建交换文件
# chmod 0600 /root/swapfile
# swapon /root/swapfile //激活swap
# vim /etc/fstab //写入fstab,开机生效,末尾输入如下内容
/root/swapfile swap swap defautls 0 0
# reboot //重启机器测试
四、tmp分区扩容
方案1:新增磁盘
增加磁盘,将磁盘挂载到/tmp目录下
方案2:本地扩容
在原有基础上进行扩容
# mount -t tmpfs -o size=10G tmpfs /tmp //原有/tmp目录下内容会清空,请注意备份
# vim /etc/fstab //末尾增加如下内容
tmpfs /tmp tmpfs defaults,size=10G 0 0