通过命令给Linux(CentOS)分区
服务器供应商给了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)
正在重定位块 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 3 (max = 2424)
正在扫描inode表 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Begin pass 4 (max = 10)
正在更新inode引用 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
The 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_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/VolGroup-lv_root is mounted on /; on-line resizing required
old desc_blocks = 10, new_desc_blocks = 28
Performing 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 -h
5、闲置空间
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进行查看。