博客 > 术业专攻> Linux基础> 磁盘管理> 服务器存储不够了之在原逻辑卷上扩容的操作 2019年08月29日 11:26:20
当然上一篇的直接格式化新挂载的操作,也有当初的考量,其实说白了,任何的操作,都是根据你自己当前的实际情况来作出相对应的方案的。
上次扩容之所以采用直接挂在新磁盘的方式,有两点重要原因,一方面原本旧挂载的分区就是一个普通分区,并没有做成逻辑卷,这点很重要,基本上决定了你没办法再重新来做了。另一方面就是那次扩容是T级别的,像这种庞大的动静,还是让原有的磁盘安静的做一个“美盘子”就好了,不可轻易打扰啊。
那么现在进入今天的正题,说一下如何在原有逻辑卷基础上进行扩容。
还是风平浪静的一个下午,我们乖乖的zabbix
对接的钉钉报警又来通知啦。
通过报警很容易得知,磁盘空间已经不足20%了。那就先来一波查看呗。
先看zabbix上边显示的,容量正一点一点被用去。
然后去服务器上看:
嗯哼,这台机器貌似应该不是只有50G的额,果然,不一会儿,当初创建此机器的小伙伴说给到的容量是150G的,应该是没有完整分配出来。
查看磁盘:
fdisk -l
果然通过查看发现原本分配150G的磁盘只适用了50个G,而且刚好之前是通过逻辑卷的方式进行的磁盘管理,那么现在就通过lvm的特性直接对磁盘进行扩容呗。
整套操作简化命令先罗列开来。
fdisk /dev/sda ---》n #新增一个分区。 ---》p #分区类型选择为主分区。 ---》回车 #可以填入3,也可以直接按其默认的直接回车。 ---》回车 #默认(起始扇区) ---》回车 #默认(结束扇区)这里因为只剩下100G了,所以就全部分配了。 ---》p #再次查看是否划分成功。 ---》 ---》t #修改分区类型。 ---》回车 #也就是默认的刚刚创建的3。 ---》L #列出所有分区类型。 ---》8e #填入8e,将刚创建的分区3修改为lvm。 ---》p #此刻再次检查是否变成与2一样的lvm。 ---》w #保存并退出。
接下来将具体输出详细展示一遍。
fdisk /dev/sda Welcome 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/sda: 161.1 GB, 161061273600 bytes, 314572800 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000312a8 Device Boot Start End Blocks Id System /dev/sda1 * 2048 718847 358400 83 Linux /dev/sda2 718848 104857599 52069376 8e Linux LVM Command (m for help): ---》n #新增一个分区。 Partition type: p primary (2 primary, 0 extended, 2 free) e extended Select (default p): ---》p #分区类型选择为主分区。 Partition number (3,4, default 3): ---》回车 #可以填入3,也可以直接按其默认的直接回车。 Last sector, +sectors or +size{K,M,G} (104857600-314572799, default 314572799): ---》回车 #默认(起始扇区) ---》回车 #默认(结束扇区)这里因为只剩下100G了,所以就全部分配了。 Using default value 314572799 Partition 3 of type Linux and of size 100 GiB is set Command (m for help): ---》p #再次查看是否划分成功。 Disk /dev/sda: 161.1 GB, 161061273600 bytes, 314572800 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000312a8 Device Boot Start End Blocks Id System /dev/sda1 * 2048 718847 358400 83 Linux /dev/sda2 718848 104857599 52069376 8e Linux LVM /dev/sda3 104857600 314572799 104857600 83 Linux Command (m for help): ---》t #修改分区类型。 Partition number (1-3, default 3): ---》回车 #也就是默认的刚刚创建的3。 Hex code (type L to list all codes): ---》L #列出所有分区类型。 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 3c PartitionMagic 84 OS/2 hidden C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx 5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data 6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility 8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt 9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi eb BeOS fs e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD ee GPT f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 55 EZ-Drive a7 NeXTSTEP f0 Linux/PA-RISC b 11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f1 SpeedStor 12 Compaq diagnost 5c Priam Edisk a9 NetBSD f4 SpeedStor 14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f2 DOS secondary 16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ fb VMware VMFS 17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 65 Novell Netware b8 BSDI swap fd Linux raid auto 1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fe LANstep 1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT 1e Hidden W95 FAT1 80 Old Minix Hex code (type L to list all codes): ---》8e #填入8e,将刚创建的分区3修改为lvm。 Changed type of partition 'Linux' to 'Linux LVM' Command (m for help): ---》p #此刻再次检查是否变成与2一样的lvm。 Disk /dev/sda: 161.1 GB, 161061273600 bytes, 314572800 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000312a8 Device Boot Start End Blocks Id System /dev/sda1 * 2048 718847 358400 83 Linux /dev/sda2 718848 104857599 52069376 8e Linux LVM /dev/sda3 104857600 314572799 104857600 8e Linux LVM 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) Syncing disks.
此时保存退出之后可以先通过ls /dev/sda3
看一下是否有sda3。如果没有,那么使用partprobe
命令进行加载,如果条件允许,也可以通过重启机器进行加载。
格式化分区。
---》mkfs.ext3 /dev/sda3 mke2fs 1.42.9 (28-Dec-2013) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 6553600 inodes, 26214400 blocks 1310720 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=4294967296 800 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424, 20480000, 23887872 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
格式化之后就可以进行扩容的操作了。
操作之前首先查看一下原来的情况。
---》pvscan PV /dev/sda2 VG centos lvm2 [49.66 GiB / 0 free] Total: 1 [49.66 GiB] / in use: 1 [49.66 GiB] / in no VG: 0 [0 ] ---》vgscan Reading all physical volumes. This may take a while... Found volume group "centos" using metadata type lvm2 ---》lvscan ACTIVE '/dev/centos/root' [49.66 GiB] inherit
这里可以清晰看到原来使用着的sda2到的50个G。
接下来进入正题,依旧先把操作步骤简化命令列出。
---》pvcreate /dev/sda3 #把新加的分区创建为物理卷。 ---》vgextend centos /dev/sda3 #将刚创建的物理卷添加到卷组centos中。(注意此处的centos是通过刚才vgscan得到的。) ---》pvscan #再次查看物理卷情况。 ---》vgscan #再次查看卷组情况。 ---》vgdisplay -v #详细查看卷组。 ---》lvextend -l +25599 /dev/centos/root #直接在原有逻辑卷上进行扩容。25599是通过刚才详细查看卷组得到的free PE数。 ---》 ---》xfs_growfs /dev/centos/root #通过此命令让操作系统识别刚刚扩容的分区。这个命令适用在centos 7系统中。如果是6的,则用resize2fs -f /dev/centos/root ---》df -h
接着展示以下每个命令的输出结果。
---》pvcreate /dev/sda3 WARNING: ext3 signature detected on /dev/sda3 at offset 1080. Wipe it? [y/n]: y Wiping ext3 signature on /dev/sda3. Physical volume "/dev/sda3" successfully created ---》vgextend centos /dev/sda3 Volume group "centos" successfully extended ---》pvscan PV /dev/sda2 VG centos lvm2 [49.66 GiB / 0 free] PV /dev/sda3 VG centos lvm2 [100.00 GiB / 100.00 GiB free] Total: 2 [149.65 GiB] / in use: 2 [149.65 GiB] / in no VG: 0 [0 ] ---》vgscan Reading all physical volumes. This may take a while... Found volume group "centos" using metadata type lvm2 ---》vgdisplay -v Using volume group(s) on command line. --- Volume group --- VG Name centos System ID Format lvm2 Metadata Areas 2 Metadata Sequence No 3 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 1 Max PV 0 Cur PV 2 Act PV 2 VG Size 149.65 GiB PE Size 4.00 MiB Total PE 38311 Alloc PE / Size 12712 / 49.66 GiB Free PE / Size 25599 / 100.00 GiB VG UUID xvU7EX-3SXG-z21B-LXGn-TO00-RzvQ-n7zUV0 --- Logical volume --- LV Path /dev/centos/root LV Name root VG Name centos LV UUID x8lIiU-nuPh-MtXV-aQRo-bOZ4-dQiN-7kE3wT LV Write Access read/write LV Creation host, time localhost, 2017-12-29 18:04:48 +0800 LV Status available # open 1 LV Size 49.66 GiB Current LE 12712 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:0 --- Physical volumes --- PV Name /dev/sda2 PV UUID PkLNer-Uz8l-Fw1y-AKzz-DvP5-1P4T-76paP6 PV Status allocatable Total PE / Free PE 12712 / 0 PV Name /dev/sda3 PV UUID 50sSuP-0X3I-oWke-keCp-Hmfo-XMW7-GQkRBp PV Status allocatable Total PE / Free PE 25599 / 25599 ---》lvextend -l +25599 /dev/centos/root Size of logical volume centos/root changed from 49.66 GiB (12712 extents) to 149.65 GiB (38311 extents). Logical volume root successfully resized. ---》xfs_growfs /dev/centos/root meta-data=/dev/mapper/centos-root isize=256 agcount=4, agsize=3254272 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 finobt=0 data = bsize=4096 blocks=13017088, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 log =internal bsize=4096 blocks=6356, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 13017088 to 39230464 ---》df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 150G 40G 110G 27% / devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 3.9G 33M 3.8G 1% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/sda1 347M 115M 233M 33% /boot tmpfs 783M 0 783M 0% /run/user/0 tmpfs 783M 0 783M 0% /run/user/1000
由此可见一次平稳的扩容就这么完成了。所以这也是很多时候提倡适用lvm进行磁盘分区管理的一个理由之一。
当我看到扩容已经成功之后,就看到乖巧的zabbix通知告警问题修复了,这里再次夸一下zabbix同学。
参考链接:http://blog.csdn.net/remote_roamer/article/details/50670802
© 2018 www.qingketang.net 鄂ICP备18027844号-1
武汉快勤科技有限公司 13554402156 武汉市东湖新技术开发区关山二路特一号国际企业中心6幢4层7号
扫码关注,全站教程免费播放
订单金额:
支付金额:
支付方式: