我已经安装了 CentOS 6 并将其配置为邮件服务器。现在所有用户数据都存储在该/home
目录中,但空间不足。通过添加额外的硬盘驱动器可以增加容量吗/home
?
答案1
是否可以增加容量取决于您是否安装了 LVM 以及您的文件系统是否支持增长(ext{2,3,4}、btrfs、reiserfs、xfsm 以及其他一些可能支持)
如果您确实有 LVM,则可以使用和将新磁盘添加到当前分区/home
(或者如果不是单独的分区/
)。vgextend
lvextend
如果您没有 LVM,您可以通过/home
将目录移动到文件系统的根目录并将分区安装到 上,将所有内容转移到新驱动器上的分区/home
。或者,您可以决定拆分主目录,通过在 上安装新分区/home2
,将一些主目录从 移动/home
到/home2
并更新其/etc/passwd
条目。当您移动各个主目录时,至少应该短暂关闭邮件访问程序 ( imapd
、 )。popd
在开始执行任何操作之前,请确保您拥有最新的备份,尤其是在使用 LVM 时。
1这很简单,但不会扩展主目录,如果新光盘小于您当前的/home
使用量,这实际上会减少磁盘上的空间量/home
答案2
当然,您可以添加一个单独的主分区。
添加新硬盘,对其进行分区(使用fdisk或gdisk),格式化(即使用mkfs创建fs),将/home下的文件移动到新fs中并相应编辑fstab,以便系统将新fs挂载在上面/home.
如果您使用 SELinux,则可能会遇到登录问题,因为扩展属性未正确复制到新文件系统。有一些方法可以在复制文件时保留扩展属性,但我发现更好(实际上更简单)的方法是在复制文件后恢复它们。为了实现这一点,在复制之后和使用任何常规用户(文件驻留在 /home 中)登录之前,以 root 身份登录并执行restorecon -R -v /home
.
遵循高级步骤:
- Add the new harddisk to the system;
- run fdisk (or gdisk) to partition it;
- run mkfs (e.g. "mkfs.ext4 /dev/sdXn" where sdXn is the device referring partition you just created with fdisk);
- mount the new fs under a temporary directory so that you can still see your current /home directory;
- copy the files from your /home to the new fs using "cp -a", "rsync" or your preferred method;
- unmount the new fs;
- add an entry for the new fs in fstab (mine, for instance is: "LABEL=fc20.home /home ext4 defaults,auto_da_alloc,noatime 1 2"
(notice that I use LABELs for referring to the devices, which you can set with -L with mkfs.ext4 or tune2fs, but of course you can use `/dev/sdXn` instead)
- Mount the new filesystem with "mount -a";
- Before logging with any regular user execute "restorecon -R -v /home"
- after making sure everything is working fine (including after reboot), you should be good to -- temporarily unmount the new /home first -- remove the old files from the original `/home` to free up space in the `/` filesystem.
应该是这样。祝你好运。