我们的企业标准是CentOS(似乎更喜欢LVM),而我主要来自非LVM背景,所以我正在这个问题上踏上新的台阶。
我inheritance了一台较旧的机器作为日志服务器,并且必须重新安装CentOS。 由于主板上的EHCI问题(通过正常安装DVD或通过LiveCD GUI安装),我能find的安装CentOS 6.3的唯一的事情就是安装LiveCD文本。 LiveCD文本安装不允许我在磁盘上创build自己的分区设置; 它只安装LVM,给我的日志服务器空间分配不当
[mpenning@someHost ~]$ cat /etc/issue CentOS release 6.3 (Final) Kernel \r on an \m [mpenning@someHost ~]$ df -m Filesystem 1M-blocks Used Available Use% Mounted on /dev/mapper/vg_livecd-lv_root 50397 2167 47719 5% / tmpfs 1850 0 1850 0% /dev/shm /dev/md127p1 485 65 395 15% /boot /dev/mapper/vg_livecd-lv_home 227001 188 215283 1% /home [mpenning@someHost ~]$ sudo lvm vgdisplay --- Volume group --- VG Name vg_livecd System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 4 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 278.96 GiB PE Size 4.00 MiB Total PE 71415 Alloc PE / Size 71415 / 278.96 GiB Free PE / Size 0 / 0 VG UUID 8qywNz-cmKv-RxAH-WcsV-2nEA-sGg3-fcZ6BU [mpenning@someHost ~]$
两个问题:
/拥有257398个1-M块并将/home减less到20000个1-M块,我可以在不重新启动的情况下执行此操作,如果是这样,具体的命令序列是做什么的? /var分区,我应该怎么做没有一个完整的重新安装? 如果我需要增加/拥有257398个1-M块并将/ home减less到20000个1-M块,我可以在不重新启动的情况下执行此操作,如果是这样,具体的命令序列是做什么的?
你有大约280GB的可用空间,其中50GB被分配给“/”,230GB被分配到/home 。 因为这代表了你所有的可用空间,所以你将不得不先释放一些东西。 这里有几个选项:
如果您没有在/home放入任何数据,最简单的办法就是放弃现有的文件系统,然后用适当的大小重新创build:
卸载/home :
# umount /home
将逻辑卷(LV)的大小减小到20GB:
# lvreduce -L 20G /dev/vg_livecd/lv_home
重新创build/home文件系统:
# mke2fs -j -m0 /dev/vg_livecd/lv_home
和重新安装/home :
# mount /home
收缩 /home归位是可能的,而不是丢弃它,但是这可能有点棘手:
卸载/home :
# umount /home
fsck文件系统。 这可能是下一步所需要的:
# fsck /dev/vg_livecd/lv_home
调整文件系统的大小:
# resize2fs /dev/vg_livecd/lv_home 19G
降低LV:
# lvreduce -L 20G /dev/vg_livecd/lv_home
你会注意到我减less了文件系统比LV多一点点; 这是因为我永远不会记得他们是否以相同的方式来计算事物,所以我试着留下一个小小的摆动空间。
无论哪种情况,现在您的卷组中都有大约210GB的可用空间。 现在你可以增加你的根文件系统的大小了:
增加根LV的大小:
# lvresize -L260G /dev/vg_livecd/lv_root
增加文件系统的大小:
# resize2fs /dev/vg_livecd/lv_root
请注意,由于我在此答案中使用了四舍五入,因此您可能需要使用略小于260G的数字。 此外,LVM实用程序的最新版本包括为您调整文件系统的能力,但是自从这些选项可用之前,我一直在做这个工作……所以我不能声称知道它们是如何操作的。
如果我想添加一个专用的/ var分区,我应该怎么做没有一个完整的重新安装?
首先,您可能希望以单用户模式执行此操作,否则正在运行的进程可能会在/var打开文件,导致难以replace。 话说回来…
再次,你将需要自由空间。 如果不是在上一步中使用所有的可用空间,而是免费使用几GB,则可以这样做:
创build一个新的逻辑卷:
# lvcreate -n lv_var -L 10G /dev/vg0
创build一个新的文件系统:
# mke2fs -j -m0 /dev/vg_livecd/lv_var
编辑/etc/fstab通过添加以下行来在/var上挂载新的LV:
/dev/vg_livcde/lv_var /var ext4 defaults 1 2
但是不要安装它!
将新的文件系统安装在某个方便的地方:
# mount /dev/vg_livecd/lv_var /mnt
复制/var的内容:
# rsync -a /var/ /mnt/
将/var重命名为/var.old并创build一个新的目录:
# mv /var /var.old # mkdir /var
将你的新LV安装到/var :
#umount / mnt#mount / var
并继续启动。 当你满意的时候,一切正常,你可以删除/var.old 。
考虑到:
AFAIC,我会尝试netinstall / kickstart一次性以可复制的方式获得所需的configuration。
我的2cts