导读 | 对大多数系统管理员来讲扩充 Linux 服务器的磁盘空间是平常的工做之一。所以这篇文章会经过使用 Linux 命令,在 CentOS 7 系统上演示一些简单的操做步骤来扩充您的磁盘空间而不须要重启您的生产服务器。关于扩充和增长新的磁盘到 Linux 系统,咱们会说起多种方法和多种可行性,可按您所需选择最适用的一种。 |
1. 在虚拟机客户端扩充磁盘空间:linux
在为 Linux 系统增长磁盘卷以前,您首先须要添加一块新的物理磁盘,或在 VMware vShere、VMware 工做站以及你使用的其它虚拟环境软件中进行设置来增长一块虚拟磁盘的容量。
后端
2. 检查磁盘空间:centos
运行以下命令来检查当前磁盘空间大小。服务器
# df -h # fdisk -l
能够看到,虽然咱们已经在后端给其增长到 50 GB 的空间,但此时的总磁盘大小仍然为 10 GB。app
3. 扩展空间而无需重启虚拟机ui
如今运行以下命令,经过从新扫描 SCSI (注:Small Computer System Interface 小型计算机系统接口)总线并添加 SCSI 设备,系统就能够扩展操做系统的物理卷磁盘空间,并且不须要重启虚拟机。this
# ls /sys/class/scsi_host/ # echo "- - -" > /sys/class/scsi_host/host0/scan # echo "- - -" > /sys/class/scsi_host/host1/scan # echo "- - -" > /sys/class/scsi_host/host2/scan
使用下面的命令来检查 SCSI 设备的名称,而后从新扫描 SCSI 总线。编码
# ls /sys/class/scsi_device/ # echo 1 > /sys/class/scsi_device/0\:0\:0\:0/device/rescan # echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan
以下图所示,会从新扫描 SCSI 总线,随后咱们在虚拟机客户端设置的磁盘大小会正常显示。
操作系统
4. 建立新磁盘分区:教程
一旦在系统中能够看到扩展的磁盘空间,就能够运行以下命令来格式化您的磁盘以建立一个新的分区。请按以下操做步骤来扩充您的物理磁盘卷。
# fdisk /dev/sda Welcome to fdisk (util-linux 2.23.2) press the 'm' key for help Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition g create a new empty GPT partition table G create an IRIX (SGI) partition table l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help):
键入'p'来查看当前的分区表信息,而后键入'n'键来建立一个新的主分区,选择全部可用的扇区,使用't'命令改变磁盘类型为'Linux LVM',而后选择编码 '8e' 或者默认不选,它默认的类型编码为 '83'。
如今输入 'w' 来保存分区表信息而且退出命令环境,以下示:
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. WARNING: Re-reading the partition table failed with error 16: Device or resource busy. The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8)
5. 建立物理卷:
根据上述提示,运行'partprob'或'kpartx'命令以使分区表生效,而后使用以下的命令来建立新的物理卷。
# partprobe # pvcreate /dev/sda3
要检查新建立的卷,运行以下的命令能够看出新的物理卷是否已经被建立,是否可用。接下来,咱们就可使用这个新的物理卷来扩展 'centos' 卷组了,以下示:
# pvdisplay # vgextend centos /dev/sda3
6. 扩展逻辑卷:
如今咱们使用以下的命令扩展逻辑卷,以增长咱们系统正使用的磁盘空间。
# lvextend -L +40G /dev/mapper/centos-root
一旦返回增长成功的消息,就能够运行以下命令来扩展您的逻辑卷大小。
# xfs_growfs /dev/mapper/centos-root
'/' 分区的大小已经成功的增长了,可使用 'df' 命令来检查您磁盘驱动器的大小。如图示。
7. 经过增长新的磁盘来扩充根分区而不用重启系统:
这是第二种方法,它使用的命令很是简单, 用来增长 CentOS 7 系统上逻辑卷空间大小。因此第一步是打开您的虚拟机客户端的设置页面,点击 ‘增长’ 按纽,而后继续下一步操做。
选择新磁盘所须要的配置信息,以下图所示的,选择新磁盘的大小和它的类型。
而后进入服务端重复以下的命令来扫描您的磁盘设备,以使新磁盘在系统中可见。
# echo "- - -" > /sys/class/scsi_host/host0/scan # echo "- - -" > /sys/class/scsi_host/host1/scan # echo "- - -" > /sys/class/scsi_host/host2/scan
列出您的 SCSI 设备的名称:
# ls /sys/class/scsi_device/ # echo 1 > /sys/class/scsi_device/1\:0\:0\:0/device/rescan # echo 1 > /sys/class/scsi_device/2\:0\:0\:0/device/rescan # echo 1 > /sys/class/scsi_device/3\:0\:0\:0/device/rescan # fdisk -l
一旦新增的磁盘可见,就能够运行下面的命令来建立新的物理卷,而后增长到卷组,以下示。
# pvcreate /dev/sdb # vgextend centos /dev/sdb # vgdisplay
如今根据此磁盘的空间大小来扩展逻辑卷,而后添加到根分区。
# lvextend -L +20G /dev/mapper/centos-root # xfs_growfs /dev/mapper/centos-root # df -h
结论:
在 Linux CentOS 7 系统上管理磁盘分区的操做过程是很是简单的,可使用这篇文章所述的操做步骤来扩充您的任意逻辑卷的磁盘空间。您不须要重启生产线上的服务器,只是简单的重扫描下 SCSI 设备,和扩展您想要的 LVM(逻辑卷管理)。咱们但愿这文章对您有用。请随意的发表有用的评论和建议。
免费提供最新Linux技术教程书籍,为开源技术爱好者努力作得更多更好:http://www.linuxprobe.com/