服务器供应商给了linux服务器后,发现放root与数据的分区太小,只有150G左右,而/home却高达300G, 空间利用率很是问题。于是,想办法重新分区。但是,Linux重新分区很麻烦,不过,只要按照下列步骤做,一般就没有什么问题。
但是,请注意,如果你的系统现在在运行中,已经有不少数据,建议你先备份,以防万一。再者,你需要调整的分区一定不能大于原有文件所占有的空间,否则,一定造成数据丢失!!!
下面的例子你可以看出,我们原来默认的分区不合理,/root仅有150G左右,而/home则有大约300G:
首先,你可以通过以下指令查看你分区的现状:
[root@localhost ~]# df –h(查看分区状况)
文件系统 容量 已用 可用 已用%% 挂载点/dev/mapper/VolGroup-lv_root 154G 7.9G 139G 6% /tmpfs 1.9G 100K 1.9G 1% /dev/shm/dev/sda1 485M 69M 391M 15% /boot/dev/mapper/VolGroup-lv_home
299G 984M 283G 1% /home
因为我们想缩小/home,先卸载/home:
[root@localhost ~]# umount /home(卸载/home)[root@localhost ~]# e2fsck -f /dev/mapper/VolGroup-lv_home(检查VolGroup-lv_home文件的错误性,-f 即使文件系统没有错误迹象,仍强制地检查正确性。)e2fsck 1.41.12 (17-May-2010)第一步: 检查inode,块,和大小第二步: 检查目录结构第3步: 检查目录连接性Pass 4: Checking reference counts第5步: 检查簇概要信息/dev/mapper/VolGroup-lv_home: 21/19857408 files (0.0% non-contiguous), 1498180/79429632 blocks
因为/home仅仅装了系统,所以不需要太多空间,我们决定调整到很小:
[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_home 20G(调整mapper/VolGroup-lv_home文件大小为20G)
resize2fs 1.41.12 (17-May-2010)Resizing the filesystem on /dev/mapper/VolGroup-lv_home to 5242880 (4k) blocks.Begin pass 2 (max = 32778)正在重定位块 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXBegin pass 3 (max = 2424)正在扫描inode表 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXBegin pass 4 (max = 10)正在更新inode引用 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXThe filesystem on /dev/mapper/VolGroup-lv_home is now 5242880 blocks long.[root@localhost ~]# mount /home(挂在 /home)[root@localhost ~]# df –h (查看分区状况)文件系统 容量 已用 可用 已用%% 挂载点/dev/mapper/VolGroup-lv_root 154G 7.9G 139G 6% /tmpfs 1.9G 100K 1.9G 1% /dev/shm/dev/sda1 485M 69M 391M 15% /boot/dev/mapper/VolGroup-lv_home 20G 962M 18G 6% /home[root@localhost ~]# lvreduce -L 20G /dev/mapper/VolGroup-lv_home (lvreduce指令用于减少LVM逻辑卷占用的空间大小。可能会删除逻辑卷上已有的数据,所以在操作前必须进行确认。) WARNING: Reducing active and open logical volume to 20.00 GiB THIS MAY DESTROY YOUR DATA (filesystem etc.)Do you really want to reduce lv_home? [y/n]: y Reducing logical volume lv_home to 20.00 GiB Logical volume lv_home successfully resized[root@localhost ~]# df –h (查看分区状况)文件系统 容量 已用 可用 已用%% 挂载点/dev/mapper/VolGroup-lv_root 154G 7.9G 139G 6% /tmpfs 1.9G 100K 1.9G 1% /dev/shm/dev/sda1 485M 69M 391M 15% /boot/dev/mapper/VolGroup-lv_home 20G 962M 18G 6% /home[root@localhost ~]# vgdisplay --- Volume group --- VG Name VolGroup System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 7 VG Access read/write VG Status resizable MAX LV 0 Cur LV 3 Open LV 3 Max PV 0 Cur PV 1 Act PV 1 VG Size 465.27 GiB PE Size 4.00 MiB Total PE 119109 Alloc PE / Size 46660 / 182.27 GiB Free PE / Size 72449 / 283.00 GiB VG UUID gPA8XS-ZncK-mGQj-2Vn9-TFTQ-6yOU-6atjE9 [root@localhost ~]# lvextend -L +283G /dev/mapper/VolGroup-lv_root (lvextend指令:扩展逻辑卷空间) Extending logical volume lv_root to 439.39 GiB Logical volume lv_root successfully resized[root@localhost ~]# resize2fs -p /dev/mapper/VolGroup-lv_rootresize2fs 1.41.12 (17-May-2010)Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing requiredold desc_blocks = 10, new_desc_blocks = 28Performing an on-line resize of /dev/mapper/VolGroup-lv_root to 115183616 (4k) blocks.The filesystem on /dev/mapper/VolGroup-lv_root is now 115183616 blocks long.
现在检查一下调整的结果:
[root@localhost ~]# df -h文件系统 容量 已用 可用 已用%% 挂载点/dev/mapper/VolGroup-lv_root 433G 7.9G 403G 2% /tmpfs 1.9G 100K 1.9G 1% /dev/shm/dev/sda1 485M 69M 391M 15% /boot/dev/mapper/VolGroup-lv_home 20G 962M 18G 6% /home
[root@localhost ~]#
做起来很顺利,节省了重装的时间。
------------------------------------------------------------------------------------------------------------
调整Home分区大小
1.首先查看磁盘使用情况
df -h
Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg-lv_root 50G 8.9G 378G 18% / tmpfs 1.9G 112K 1.9G 1% /dev/shm /dev/sda1 485M 64M 396M 14% /boot /dev/mapper/vg-lv_home 390G 7.5G 40G 2% /home
2、卸载/home
umount /home 如果提示无法卸载,则是有进程占用/home,使用如下命令来终止占用进程: fuser -m -v -i -k /home
3、调整分区大小
resize2fs -p /dev/mapper/vg-lvhome 50G 如果提示运行“e2fsck -f /dev/mapper/vg-lvhome”,则执行相关命令: e2fsck -f /dev/mapper/vg-lvhome 然后重新执行命令: resize2fs -p /dev/mapper/vg-lvhome 50G
4、挂载上/home,查看磁盘使用情况
mount /home
df -h5、闲置空间
lvreduce -L1000G /dev/mapper/vg-lv_home 命令中的1000G是空间大小,这个根据情况设定。
可以使用vgdisplay命令等查看一下可以操作的大小。也可以是用fdisk -l命令查看详细信息。
6.把闲置空间挂在到根目录下
lvextend -L+1000G /dev/mapper/vg-lvroot执行resize2fs /dev/mapper/vgvoip-lv_root
完成之后用df进行查看。