Linux系统常见磁盘扩容操作(Common Disk Expansion Operations in Linux Systems)
Linux系统常见磁盘扩容操作
目录说明
一、准备工作:获取目标磁盘信息
(1)确认分区表格式和文件系统
二、扩容已有MBR分区
(1)分区后扩容
-
-
ext为例
-
xfs为例
-
三、扩容已有GPT分区
(1)分区后扩容
-
-
ext为例
-
xfs为例
-
四、未分区扩容
-
-
ext为例
-
xfs为例
-
五、LVM
(1)通过LVM创建逻辑卷
-
-
ext为例
-
xfs为例
-
(2)扩容逻辑卷
方式一:扩容磁盘以扩容逻辑卷容量
-
-
-
ext为例
-
xfs为例
-
-
方式二:新增磁盘以扩容逻辑卷容量
-
-
-
ext为例
-
xfs为例
-
-
一、准备工作:获取目标磁盘信息
(1)确认分区表格式和文件系统
运行以下命令确认数据盘的分区表格式
[root@itgank ~]#fdisk -lu /dev/sdaDisk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x9277b47bDevice Boot Start End Blocks Id System/dev/vdb1 2048 41943039 20970496 83 Linux
注意:Disk label type的值为dos则分区是MBR,若该结果的值为gpt则分区是GPT
运行以下命令确认已有分区的文件系统类型
[root@itgank ~]# blkid /dev/vdb1/dev/vdb1: UUID="e97bf1e2-fc84-4c11-9652-73********24" TYPE="ext4"
注意:TYPE的值为ext4则文件系统类型为ext4,若该结果的值为xfs则文件系统类型为xfs
ext*文件系统使用resize2fs命令扩容文件系统 xfs文件系统使用 xfs_growfs命令扩容文件系统
说明
为了防止数据丢失,不建议扩容已挂载的分区和文件系统。请先取消挂载(umount)分区,完成扩容并正常使用后,重新挂载(mount)。针对不同的Linux内核版本,推荐以下操作方式:
-
实例内核版本小于3.6:先取消挂载该分区,再修改分区表,最后扩容文件系统。
-
实例内核版本大于等于3.6:先修改对应分区表,再通知内核更新分区表,最后扩容文件系统。
二、扩容已有MBR分区
fdisk命令主要用于 MBR分区表的操作
-
MBR: MBR 分区表支持最多四个主分区,其中一个可以是扩展分区,该扩展分区可以包含多个逻辑分区。由于 MBR 使用32位的扇区偏移值来寻址,因此 MBR 分区表的最大容量为2 TB
(1)分区后扩容
/dev/sdb有10G,只有一个分区/dev/sdb1。将其扩大至20G,将新增的10G划分至已有的/dev/sdb1内
ext为例
[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 12M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/sdb1 ext4 9.8G 37M 9.2G 1% /data
执行以下命令,安装growpart扩容工具
yum install cloud-utils-growpart -y[root@itgank ~]# echo 1 > /sys/block/sdb/device/rescan #如果数据盘扩容后容量大小未变执行此命令让内核扫描并重新识别连接到sdb磁盘的所有磁盘驱动器[root@itgank ~]# growpart /dev/sdb 1CHANGED: partition=1 start=2048 old: size=20969472 end=20971520 new: size=41940959 end=41943007[root@itgank ~]# resize2fs /dev/sdb1resize2fs 1.42.9 (28-Dec-2013)Filesystem at /dev/sdb1 is mounted on /data; on-line resizing requiredold_desc_blocks = 2, new_desc_blocks = 3The filesystem on /dev/sdb1 is now 5242619 blocks long.[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 12M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/sdb1 ext4 20G 44M 19G 1% /data
如果不使用growpart命令 手动扩容如下
[root@itgank ~]# fdisk /dev/sdbWelcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Command (m for help): p #查看分区Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x2e714d05Device Boot Start End Blocks Id System/dev/sdb1 2048 20971519 10484736 83 LinuxCommand (m for help): d #删除当前1分区 切记不要w保存退出 会造成数据丢失Selected partition 1Partition 1 is deletedCommand (m for help): n #选择分区类型Partition type:p primary (0 primary, 0 extended, 4 free)e extendedSelect (default p): p #选择主分区Partition number (1-4, default 1):First sector (2048-41943039, default 2048):Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):Using default value 41943039Partition 1 of type Linux and of size 20 GiB is setCommand (m for help): pDisk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x2e714d05Device Boot Start End Blocks Id System/dev/sdb1 2048 41943039 20970496 83 LinuxCommand (m for help): w #以上操作保存退出 如果中途命令输入错误 ctrl+c回退所有命令 重头再开始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 atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.[root@itgank ~]# partprobe[root@itgank ~]# resize2fs /dev/sdb1resize2fs 1.42.9 (28-Dec-2013)Filesystem at /dev/sdb1 is mounted on /data; on-line resizing requiredold_desc_blocks = 2, new_desc_blocks = 3The filesystem on /dev/sdb1 is now 5242624 blocks long.[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 12M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/sdb1 ext4 20G 44M 19G 1% /data
xfs为例
[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 12M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/sdb1 xfs 9.8G 37M 9.2G 1% /data
执行以下命令,安装growpart扩容工具
yum install cloud-utils-growpart -y[root@itgank ~]# echo 1 > /sys/block/sdb/device/rescan #如果数据盘扩容后容量大小未变执行此命令让内核扫描并重新识别连接到sdb磁盘的所有磁盘驱动器[root@itgank ~]# growpart /dev/sdb 1CHANGED: partition=1 start=2048 old: size=20969472 end=20971520 new: size=41940959 end=41943007[root@itgank ~]# xfs_growfs /dev/sdb1[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 12M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/sdb1 xfs 20G 44M 19G 1% /data
如果不使用growpart命令 手动扩容如下
[root@itgank ~]# fdisk /dev/sdbWelcome to fdisk (util-linux 2.23.2).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.Command (m for help): p #打印分区表Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x2e714d05Device Boot Start End Blocks Id System/dev/sdb1 2048 20971519 10484736 83 LinuxCommand (m for help): d #删除分区Selected partition 1Partition 1 is deletedCommand (m for help): n #选择主分区Partition type:p primary (0 primary, 0 extended, 4 free)e extendedSelect (default p): p #默认选择primaryPartition number (1-4, default 1): #默认选择1First sector (2048-41943039, default 2048):Using default value 2048Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039):Using default value 41943039Partition 1 of type Linux and of size 20 GiB is setCommand (m for help): pDisk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk label type: dosDisk identifier: 0x2e714d05Device Boot Start End Blocks Id System/dev/sdb1 2048 41943039 20970496 83 LinuxCommand (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 atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.[root@itgank ~]# partprobe[root@itgank ~]# xfs_growfs /dev/sdb1meta-data=/dev/sdf isize=512 agcount=4, agsize=655360 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0 spinodes=0data = bsize=4096 blocks=2621440, imaxpct=25= sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=1log =internal bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 12M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/sdb1 xfs 20G 44M 19G 1% /data
三、扩容已有GPT分区
parted命令主要用于 GPT分区表的操作
-
GPT: GPT 分区表支持更大的硬盘容量。它使用64位的逻辑块地址,因此可以支持超过2 TB的硬盘容量
(1)分区后扩容
ext为例
/dev/sdf1有10G。将数据盘容量扩大至20G,将新增的10G划分至已有的/dev/sdf1内
[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 20M 1.9G 2% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/mapper/vgdata-lvdata ext4 689G 69M 658G 1% /data/dev/sdf1 ext4 9.8G 37M 9.2G 1% /aaa[root@itgank ~]# parted /dev/sdfGNU Parted 3.1Using /dev/sdfWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) printError: The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes thedisk is smaller. Fix, by moving the backup to the end (and removing the old backup)?Fix/Ignore/Cancel? Fix #若界面提示Fix/Ignore/Cancel?和Fix/Ignore?,均输入Fix即可Warning: Not all of the space available to /dev/sdf appears to be used, you can fix the GPT to use all of the space (an extra 20971520blocks) or continue with the current setting?Fix/Ignore? FixModel: VMware Virtual disk (scsi)Disk /dev/sdf: 21.5GBSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags:Number Start End Size File system Name Flags1 1049kB 10.7GB 10.7GB ext4 primary(parted) rm 1 #删除1分区(parted) mkpart primary 1049kB 100% #原分区的起始扇区为1049kB,且要将扩容后的总容量全部分配给该分区(parted) printModel: VMware Virtual disk (scsi)Disk /dev/sdf: 21.5GBSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags:Number Start End Size File system Name Flags1 1049kB 21.5GB 21.5GB ext4 primary(parted) quit #退出Information: You may need to update /etc/fstab.[root@itgank ~]# resize2fs /dev/sdf1resize2fs 1.42.9 (28-Dec-2013)Please run 'e2fsck -f /dev/sdf1' first.[root@itgank ~]# e2fsck -f /dev/sdf1 #检测磁盘e2fsck 1.42.9 (28-Dec-2013)Pass 1: Checking inodes, blocks, and sizesPass 2: Checking directory structurePass 3: Checking directory connectivityPass 4: Checking reference countsPass 5: Checking group summary information/dev/sdf1: 11/655360 files (0.0% non-contiguous), 83137/2620928 blocks[root@itgank ~]# resize2fs /dev/sdf1resize2fs 1.42.9 (28-Dec-2013)Resizing the filesystem on /dev/sdf1 to 5242368 (4k) blocks.The filesystem on /dev/sdf1 is now 5242368 blocks long.[root@itgank ~]# mount /dev/sdf1 /aaa[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 20M 1.9G 2% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/mapper/vgdata-lvdata ext4 689G 69M 658G 1% /data/dev/sdf1 ext4 20G 44M 19G 1% /aaa
xfs为例
[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 20M 1.9G 2% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/mapper/vgdata-lvdata ext4 689G 69M 658G 1% /data/dev/sdf1 xfs 10G 33M 10G 1% /aaa[root@itgank ~]# parted /dev/sdfGNU Parted 3.1Using /dev/sdfWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) printError: The backup GPT table is not at the end of the disk, as it should be. This might mean that another operating system believes thedisk is smaller. Fix, by moving the backup to the end (and removing the old backup)?Fix/Ignore/Cancel? fixWarning: Not all of the space available to /dev/sdf appears to be used, you can fix the GPT to use all of the space (an extra 20971520blocks) or continue with the current setting?Fix/Ignore? fixModel: VMware Virtual disk (scsi)Disk /dev/sdf: 21.5GBSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags:Number Start End Size File system Name Flags1 1049kB 10.7GB 10.7GB xfs primary(parted) rm 1(parted) mkpart primary 1049kB 100%(parted) printModel: VMware Virtual disk (scsi)Disk /dev/sdf: 21.5GBSector size (logical/physical): 512B/512BPartition Table: gptDisk Flags:Number Start End Size File system Name Flags1 1049kB 21.5GB 21.5GB xfs primary(parted) quitInformation: You may need to update /etc/fstab.[root@itgank ~]# mount /dev/sdf1 /aaa[root@itgank ~]# xfs_growfs /aaameta-data=/dev/sdf1 isize=512 agcount=4, agsize=655232 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0 spinodes=0data = bsize=4096 blocks=2620928, imaxpct=25= sunit=0 swidth=0 blksnaming =version 2 bsize=4096 ascii-ci=0 ftype=1log =internal bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1realtime =none extsz=4096 blocks=0, rtextents=0data blocks changed from 2620928 to 5242368[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 20M 1.9G 2% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/mapper/vgdata-lvdata ext4 689G 69M 658G 1% /data/dev/sdf1 xfs 20G 33M 20G 1% /aaa[root@itgank ~]#
四、未分区扩容
/dev/sdb有10G,未分区直接挂载。将数据盘容量扩大至20G,将新增的10G划分至已有的/dev/sdb内
ext为例
[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 12M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/sdb ext4 9.8G 37M 9.2G 1% /data[root@itgank ~]# echo 1 > /sys/block/sdb/device/rescan[root@itgank ~]# resize2fs /dev/sdbresize2fs 1.42.9 (28-Dec-2013)Filesystem at /dev/sdb is mounted on /data; on-line resizing requiredold_desc_blocks = 2, new_desc_blocks = 3The filesystem on /dev/sdb is now 5242880 blocks long.[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 12M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/sdb ext4 20G 44M 19G 1% /data
xfs为例
[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 12M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/sdb xfs 9.8G 37M 9.2G 1% /data[root@itgank ~]# echo 1 > /sys/block/sdb/device/rescan[root@itgank ~]# xfs_growfs /dev/sdb[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 12M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/sdb xfs 20G 44M 19G 1% /data
五、LVM
(1)通过LVM创建逻辑卷
三块大小为100G的磁盘,通过LVM创建逻辑卷并挂载目录
ext为例
[root@itgank ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 55G 0 disk├─sda1 8:1 0 800M 0 part /boot├─sda2 8:2 0 39.2G 0 part│ ├─centos-root 253:0 0 52.2G 0 lvm /│ └─centos-swap 253:1 0 2G 0 lvm [SWAP]├─sda3 8:3 0 5G 0 part│ └─centos-root 253:0 0 52.2G 0 lvm /└─sda4 8:4 0 10G 0 part└─centos-root 253:0 0 52.2G 0 lvm /sdb 8:16 0 100G 0 disksdc 8:32 0 100G 0 disksdd 8:48 0 100G 0 disksr0 11:0 1 1024M 0 rom[root@itgank ~]# pvcreate /dev/sdbPhysical volume "/dev/sdb" successfully created.[root@itgank ~]# pvcreate /dev/sdcPhysical volume "/dev/sdc" successfully created.[root@itgank ~]# pvcreate /dev/sddPhysical volume "/dev/sdd" successfully created.[root@itgank ~]# vgcreate vgdata /dev/sdbVolume group "vgdata" successfully created[root@itgank ~]# vgsVG #PV #LV #SN Attr VSize VFreecentos 3 2 0 wz--n- <54.21g 0vgdata 1 0 0 wz--n- <100.00g <100.00g[root@itgank ~]# vgextend vgdata /dev/sdcVolume group "vgdata" successfully extended[root@itgank ~]# vgextend vgdata /dev/sddVolume group "vgdata" successfully extended[root@itgank ~]# vgsVG #PV #LV #SN Attr VSize VFreecentos 3 2 0 wz--n- <54.21g 0vgdata 3 0 0 wz--n- <299.99g <299.99g[root@itgank ~]# lvcreate -l 100%FREE -n lvdata vgdataLogical volume "lvdata" created.[root@itgank ~]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertroot centos -wi-ao---- <52.21gswap centos -wi-ao---- 2.00glvdata vgdata -wi-a----- <299.99g[root@itgank ~]# mkfs -t ext4 /dev/vgdata/lvdatamke2fs 1.42.9 (28-Dec-2013)Filesystem label=OS type: LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks19660800 inodes, 78640128 blocks3932006 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=22271754242400 block groups32768 blocks per group, 32768 fragments per group8192 inodes per groupSuperblock backups stored on blocks:32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,4096000, 7962624, 11239424, 20480000, 23887872, 71663616Allocating group tables: doneWriting inode tables: doneCreating journal (32768 blocks): doneWriting superblocks and filesystem accounting information: done[root@itgank ~]# mount /dev/vgdata/lvdata /data[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 12M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/mapper/vgdata-lvdata ext4 296G 65M 281G 1% /data[root@itgank ~]# vim /etc/fstab #末尾添加/dev/mapper/vgdata-lvdata /data ext4 defaults 0 0
xfs为例
[root@itgank ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 55G 0 disk├─sda1 8:1 0 800M 0 part /boot├─sda2 8:2 0 39.2G 0 part│ ├─centos-root 253:0 0 52.2G 0 lvm /│ └─centos-swap 253:1 0 2G 0 lvm [SWAP]├─sda3 8:3 0 5G 0 part│ └─centos-root 253:0 0 52.2G 0 lvm /└─sda4 8:4 0 10G 0 part└─centos-root 253:0 0 52.2G 0 lvm /sdb 8:16 0 100G 0 disksdc 8:32 0 100G 0 disksdd 8:48 0 100G 0 disksr0 11:0 1 1024M 0 rom[root@itgank ~]# pvcreate /dev/sdbPhysical volume "/dev/sdb" successfully created.[root@itgank ~]# pvcreate /dev/sdcPhysical volume "/dev/sdc" successfully created.[root@itgank ~]# pvcreate /dev/sddPhysical volume "/dev/sdd" successfully created.[root@itgank ~]# vgcreate vgdata /dev/sdbVolume group "vgdata" successfully created[root@itgank ~]# vgsVG #PV #LV #SN Attr VSize VFreecentos 3 2 0 wz--n- <54.21g 0vgdata 1 0 0 wz--n- <100.00g <100.00g[root@itgank ~]# vgextend vgdata /dev/sdcVolume group "vgdata" successfully extended[root@itgank ~]# vgextend vgdata /dev/sddVolume group "vgdata" successfully extended[root@itgank ~]# vgsVG #PV #LV #SN Attr VSize VFreecentos 3 2 0 wz--n- <54.21g 0vgdata 3 0 0 wz--n- <299.99g <299.99g[root@itgank ~]# lvcreate -l 100%FREE -n lvdata vgdataLogical volume "lvdata" created.[root@itgank ~]# lvsLV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convertroot centos -wi-ao---- <52.21gswap centos -wi-ao---- 2.00glvdata vgdata -wi-a----- <299.99g[root@itgank ~]# mkfs -t xfs /dev/vgdata/lvdata[root@itgank ~]# mount /dev/vgdata/lvdata /data[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 12M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/mapper/vgdata-lvdata xfs 296G 65M 281G 1% /data[root@itgank ~]# vim /etc/fstab #末尾添加/dev/mapper/vgdata-lvdata /data xfs defaults 0 0
(2)扩容逻辑卷
方式一:扩容磁盘以扩容逻辑卷容量
其中一块磁盘扩容到200G 如何扩容逻辑卷
ext为例
[root@itgank ~]# pvresize /dev/sdbPhysical volume "/dev/sdb" changed1 physical volume(s) resized or updated / 0 physical volume(s) not resized[root@itgank ~]# lvextend -l +100%FREE /dev/vgdata/lvdataSize of logical volume vgdata/lvdata changed from <299.99 GiB (76797 extents) to <399.99 GiB (102397 extents).Logical volume vgdata/lvdata successfully resized.[root@itgank ~]# resize2fs /dev/vgdata/lvdataresize2fs 1.42.9 (28-Dec-2013)Filesystem at /dev/vgdata/lvdata is mounted on /data; on-line resizing requiredold_desc_blocks = 38, new_desc_blocks = 50The filesystem on /dev/vgdata/lvdata is now 104854528 blocks long.[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 12M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/mapper/vgdata-lvdata ext4 394G 72M 375G 1% /data=
xfs为例
[root@itgank ~]# pvresize /dev/sdbPhysical volume "/dev/sdb" changed1 physical volume(s) resized or updated / 0 physical volume(s) not resized[root@itgank ~]# lvextend -l +100%FREE /dev/vgdata/lvdataSize of logical volume vgdata/lvdata changed from <299.99 GiB (76797 extents) to <399.99 GiB (102397 extents).Logical volume vgdata/lvdata successfully resized.[root@itgank ~]# xfs_growfs /dev/vgdata/lvdata[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 12M 1.9G 1% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/mapper/vgdata-lvdata xfs 394G 72M 375G 1% /data
方式二:新增磁盘以扩容逻辑卷容量
新增一块200G磁盘sde 如何增加到逻辑卷
ext为例
t@itgank ~]# pvcreate /dev/sde Physical volume "/dev/sde" successfully created.[root@itgank ~]# vgextend vgdata /dev/sde Volume group "vgdata" successfully extended[root@itgank ~]# lvextend -l +100%FREE /dev/mapper/vgdata-lvdata Size of logical volume vgdata/lvdata changed from <499.99 GiB (127997 extents) to 699.98 GiB (179196 extents). Logical volume vgdata/lvdata successfully resized.[root@itgank ~]# resize2fs /dev/mapper/vgdata-lvdataresize2fs 1.42.9 (28-Dec-2013)Filesystem at /dev/mapper/vgdata-lvdata is mounted on /data; on-line resizing requiredold_desc_blocks = 63, new_desc_blocks = 88The filesystem on /dev/mapper/vgdata-lvdata is now 183496704 blocks long.[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 20M 1.9G 2% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/mapper/vgdata-lvdata ext4 689G 69M 658G 1% /data
xfs为例
[root@itgank ~]# pvcreate /dev/sde
Physical volume "/dev/sde" successfully created.[root@itgank ~]# vgextend vgdata /dev/sdeVolume group "vgdata" successfully extended[root@itgank ~]# lvextend -l +100%FREE /dev/mapper/vgdata-lvdataSize of logical volume vgdata/lvdata changed from <499.99 GiB (127997 extents) to 699.98 GiB (179196 extents).Logical volume vgdata/lvdata successfully resized.[root@itgank ~]# xfs_growfs /dev/mapper/vgdata-lvdata[root@itgank ~]# df -ThFilesystem Type Size Used Avail Use% Mounted ondevtmpfs devtmpfs 1.9G 0 1.9G 0% /devtmpfs tmpfs 1.9G 0 1.9G 0% /dev/shmtmpfs tmpfs 1.9G 20M 1.9G 2% /runtmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup/dev/mapper/centos-root xfs 53G 3.2G 50G 6% //dev/sda1 xfs 797M 151M 647M 19% /boottmpfs tmpfs 378M 0 378M 0% /run/user/0/dev/mapper/vgdata-lvdata xfs 689G 69M 658G 1% /data

