操作环境:
[root@linuxidc ~]# uname -aLinux linuxidc 2.6.32-358.18.1.el6.x86_64#1 SMP Wed Aug 28 17:19:38 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux现状分析:系统有两个硬盘,第一个硬盘107G,“/”分区空间当时分区时只给了7.7G过小,空间马上占完。现在系统有第二个硬盘sdb大小为16GB,希望把sdb的所有空间加入到“/”分区中,是其空间容量从7.7GB变成7.7GB+16GB(约2.4GB)。(当然如果这里只有一个硬盘sda,有很多空间尚未使用可以进行同样的操作)操作步骤如下:第一步、查看本机现有分区情况[root@linuxidc ~]# df -h文件系统容量已用可用已用%% 挂载点/dev/mapper/VolGroup-lv_root 7.7G 7.1G 155M 98% /tmpfs 3.9G 296K 3.9G 1% /dev/shm/dev/sda1 485M 64M 396M 14% /boot/dev/sda3 83G 350M 79G 1% /media第二步、查看本机的磁盘情况[root@linuxidc ~]# fdisk -l Disk /dev/sda: 107.4 GB, 107374182400 bytes255 heads, 63 sectors/track, 13054cylindersUnits = cylinders of 16065 * 512 = 8225280bytesSector size (logical/physical): 512 bytes /512 bytesI/O size (minimum/optimal): 512 bytes / 512bytesDisk identifier: 0x000dc0ad Device Boot Start End Blocks Id System/dev/sda1 * 1 64 512000 83 LinuxPartition 1 does not end on cylinder boundary./dev/sda2 64 2089 16264192 8e Linux LVM/dev/sda3 2090 13054 88076362+ 83 Linux Disk /dev/mapper/VolGroup-lv_root: 8325 MB,8325693440 bytes255 heads, 63 sectors/track, 1012 cylindersUnits = cylinders of 16065 * 512 = 8225280bytesSector size (logical/physical): 512 bytes /512 bytesI/O size (minimum/optimal): 512 bytes / 512bytesDisk identifier: 0x00000000Disk /dev/mapper/VolGroup-lv_swap: 8325 MB,8325693440 bytes255 heads, 63 sectors/track, 1012 cylindersUnits = cylinders of 16065 * 512 = 8225280bytesSector size (logical/physical): 512 bytes /512 bytesI/O size (minimum/optimal): 512 bytes / 512bytesDisk identifier: 0x00000000注意:此时还没有在EXSI5.0中添加第二块硬盘[root@linuxidc ~]#第三步、添加第二块硬盘 查看此时系统磁盘情况root@linuxidc ~]# fdisk -l Disk /dev/sda: 107.4 GB, 107374182400 bytes255 heads, 63 sectors/track, 13054cylindersUnits = cylinders of 16065 * 512 = 8225280bytesSector size (logical/physical): 512 bytes /512 bytesI/O size (minimum/optimal): 512 bytes / 512bytesDisk identifier: 0x000dc0ad Device Boot Start End Blocks Id System/dev/sda1 * 1 64 512000 83 LinuxPartition 1 does not end on cylinderboundary./dev/sda2 64 2089 16264192 8e Linux LVM/dev/sda3 2090 13054 88076362+ 83 Linux Disk /dev/sdb: 17.2 GB, 17179869184 bytes255 heads, 63 sectors/track, 2088 cylindersUnits = cylinders of 16065 * 512 = 8225280bytesSector size (logical/physical): 512 bytes /512 bytesI/O size (minimum/optimal): 512 bytes / 512bytesDisk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_root: 8325 MB,8325693440 bytes255 heads, 63 sectors/track, 1012 cylindersUnits = cylinders of 16065 * 512 = 8225280bytesSector size (logical/physical): 512 bytes /512 bytesI/O size (minimum/optimal): 512 bytes / 512bytesDisk identifier: 0x00000000
Disk /dev/mapper/VolGroup-lv_swap: 8325 MB,8325693440 bytes255 heads, 63 sectors/track, 1012 cylindersUnits = cylinders of 16065 * 512 = 8225280bytesSector size (logical/physical): 512 bytes /512 bytesI/O size (minimum/optimal): 512 bytes / 512bytesDisk identifier: 0x00000000 可以看到我们新添加的硬盘sdb [root@linuxidc ~]#第四步、对第二块硬盘sdb进行分区 [root@linuxidc ~]# fdisk /dev/sdbDevice contains neither a valid DOSpartition table, nor Sun, SGI or OSF disklabelBuilding a new DOS disklabel with diskidentifier 0xfa4abbdc.Changes will remain in memory only, untilyou decide to write them.After that, of course, the previous contentwon't be recoverable. Warning: invalid flag 0x0000 of partitiontable 4 will be corrected by w(rite) WARNING: DOS-compatible mode is deprecated.It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): mCommand action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibilityflag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOSpartition table p print the partition table q quit without saving changes s create a new empty Sundisklabel 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 (expertsonly) Command (m for help): nCommand action e extended p primary partition (1-4)p Partition number (1-4): 4First cylinder (1-2088, default 1): Using default value 1Last cylinder, +cylinders or +size{K,M,G}(1-2088, default 2088): Using default value 2088 Command (m for help): wThe partition table has been altered! Calling ioctl() to re-read partition table.Syncing disks. 说明:上面操作对sdb硬盘进行了分区操作,设为sdb4分区了(当然上面建立的主分区可以为1-4中的任意一个,我这里选择的4)。 第五步、对新建立的sdb4分区进行格式 [root@linuxidc ~]# mkfs.ext4 /dev/sdb4mke2fs 1.41.12 (17-May-2010)文件系统标签=操作系统:Linux块大小=4096 (log=2)分块大小=4096 (log=2)Stride=0 blocks, Stripe width=0 blocks1048576 inodes, 4192957 blocks209647 blocks (5.00%) reserved for thesuper user第一个数据块=0Maximum filesystem blocks=4294967296128 block groups32768 blocks per group, 32768 fragments pergroup8192 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 正在写入inode表: 完成Creating journal (32768 blocks): 完成Writing superblocks and filesystemaccounting information: done完成 This filesystem will be automaticallychecked every 20 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override. 说明:将sdb4分区格式化为ext4格式,因为CentOS安装是系统的格式ext4,所以这里要注意一下。 第六步、格式后的sdb4分区添加为物理卷[root@linuxidc ~]# pvcreate /dev/sdb4Physical volume "/dev/sdb4" successfully created
第七步、查看当前系统的物理卷(PV)情况
[root@linuxidc ~]# pvdisplay---Physical volume ---PVName /dev/sda2VGName VolGroupPVSize 15.51 GiB / not usable3.00 MiBAllocatable yes (butfull)PESize 4.00 MiBTotal PE 3970Free PE 0Allocated PE 3970PVUUID Up77sG-sNKf-Ja0k-crBf-N0wz-a5hy-T6sVFh "/dev/sdb4" is a new physical volume of "15.99 GiB"---NEW Physical volume ---PVName /dev/sdb4VGName PVSize 15.99 GiBAllocatable NOPESize 0 Total PE 0Free PE 0Allocated PE 0PVUUID Gqnw7N-HooX-S2Nz-1NIZ-YpOe-g0jo-grG1rQ 说明:可以看到添加的新物理卷sdb4,大小都符合我们添加时的设置第八步、查看当前卷组情况[root@linuxidc ~]# vgdisplay---Volume group ---VGName VolGroupSystem ID Format lvm2Metadata Areas 1Metadata Sequence No 3VGAccess read/writeVGStatus resizableMAXLV 0CurLV 2Open LV 2MaxPV 0CurPV 1ActPV 1VGSize 15.51 GiBPESize 4.00 MiBTotal PE 3970Alloc PE / Size 3970 / 15.51GiBFree PE / Size 0 / 0 VGUUID PPrifh-glzl-nnxX-YkBm-xJ1s-rgnw-d1WsJd 第九步、将分区sdb4转换为扩展分区 [root@linuxidc ~]# vgextend VolGroup/dev/sdb4Volume group "VolGroup" successfully extended 第十步、查看当前的逻辑卷 [root@linuxidc ~]# lvdisplay---Logical volume ---LVPath /dev/VolGroup/lv_rootLVName lv_rootVGName VolGroupLVUUID dCIsej-0NWX-bVFe-bT6L-c4eY-oy4G-9lNBOCLVWrite Access read/writeLVCreation host, time , LVStatus available#open 1LVSize 7.75 GiBCurrent LE 1985Segments 1Allocation inheritRead ahead sectors auto-currently set to 256Block device 253:0 ---Logical volume ---LVPath /dev/VolGroup/lv_swapLVName lv_swapVGName VolGroupLVUUID K5bxJo-2SmM-6NCU-mBJP-Qzp1-ZODH-nbLK0kLVWrite Access read/writeLVCreation host, time , LVStatus available#open 1LVSize 7.75 GiBCurrent LE 1985Segments 1Allocation inheritRead ahead sectors auto-currently set to 256Block device 253:1 说明:这里可以看到“/”根分区的路径名称为:/dev/VolGroup/lv_root 第十一步、查看扩展后的卷组情况[root@linuxidc ~]# vgdisplay---Volume group ---VGName VolGroupSystem ID Format lvm2Metadata Areas 2Metadata Sequence No 4VGAccess read/writeVGStatus resizableMAXLV 0CurLV 2Open LV 2MaxPV 0CurPV 2ActPV 2VGSize 31.50 GiBPESize 4.00 MiBTotal PE 8064Alloc PE / Size 3970 / 15.51GiBFree PE / Size 4094 / 15.99 GiBVGUUID PPrifh-glzl-nnxX-YkBm-xJ1s-rgnw-d1WsJd说明:扩展后的卷子情况,可以看出大小增加了16GB(与第八步中的对比) 第十二步、将新增的逻辑卷全部扩展到“/”分区中 [root@linuxidc ~]# lvextend -L +15.99G/dev/VolGroup/lv_root Rounding size to boundary between physical extents: 15.99 GiBExtending logical volume lv_root to 23.75 GiBLogical volume lv_root successfully resized 说明:这里sdb4总共有16G,所以把16BG全部添加给根分区。 第十三步、查看“/”根分区格式,并重新刷新根分区的大小[root@linuxidc ~]# e2fsck -f/dev/VolGroup/lv_root e2fsck 1.41.12 (17-May-2010)/dev/VolGroup/lv_root is mounted.e2fsck: 无法继续, 中止. [root@linuxidc ~]# resize2fs /dev/VolGroup/lv_root resize2fs 1.41.12 (17-May-2010)Filesystem at /dev/VolGroup/lv_root ismounted on /; on-line resizing requiredold desc_blocks = 1, new_desc_blocks = 2Performing an on-line resize of/dev/VolGroup/lv_root to 6224896 (4k) blocks.The filesystem on /dev/VolGroup/lv_root isnow 6224896 blocks long.说明:命令resize2fs即刷新根分区“/dev/VolGroup/lv_root”的容量。 第十三步、查看刷新后根分区的大小 [root@linuxidc ~]# df -h文件系统容量已用可用已用%% 挂载点/dev/mapper/VolGroup-lv_root24G 7.1G 16G 32% /tmpfs 3.9G 144K 3.9G 1% /dev/shm/dev/sda3 83G 350M 79G 1% /media/Lucene 说明:可以看到根分区的大小有7.7G变成了24G,重启一下系统再来看情况。此时就可以继续安装软件了,不会提示空间不足了。