CentOS Linux 将 /var 挂载在新增磁盘上
步骤 1:进入单用户模式
-
重新启动系统。
-
在启动时进入 GRUB 菜单。你可以通过按
Shift
(在某些系统上是Esc
)键来显示 GRUB 菜单。 -
选择你要启动的内核(一般是默认的那个),然后按
e
键进入编辑模式。 -
找到启动行(以
linux
或linux16
开头的那行),并在行的末尾添加single
或1
,表示启动单用户模式。例如:
linux16 /vmlinuz-3.10.0-1127.el7.x86_64 root=/dev/mapper/centos-root ro single
-
按下
Ctrl + X
来启动系统。系统会进入单用户模式,此时你将只拥有 root 权限,系统不再启动网络和大部分后台服务,避免对
/var
目录的写操作。
步骤 2:确认新硬盘识别
在单用户模式下,你首先需要确认新硬盘是否被系统识别。你可以使用以下命令查看:
lsblk
这将显示所有磁盘和分区的列表。如果你看到新硬盘(例如 /dev/sdb
或 /dev/sdc
),就可以继续进行下一步。
步骤 3:分区和格式化新硬盘
如果新硬盘还没有分区,或者你还没有格式化它,你可以使用 fdisk
来分区,并使用 mkfs
格式化:
分区
fdisk /dev/sdb
然后按以下步骤操作:
- 输入
n
创建新分区。 - 输入
p
选择主分区。 - 输入分区编号(通常是
1
)。 - 输入分区的起始和结束位置,默认即可。
- 输入
w
保存并退出。
格式化为 ext4 文件系统
mkfs.ext4 /dev/sdb1
步骤 4:挂载硬盘到临时目录
在系统进入单用户模式后,你可以将新硬盘挂载到一个临时目录,比如 /mnt/new_var
:
mkdir /mnt/new_var
mount /dev/sdb1 /mnt/new_var
步骤 5:迁移 /var
数据到新硬盘
现在你可以将 /var
目录的内容迁移到新硬盘上。使用 rsync
可以保留文件的权限、符号链接等信息,并确保数据一致性:
rsync -avx /var/ /mnt/new_var/
步骤 6:更新 /etc/fstab
配置文件
为了确保系统重启后能自动挂载新硬盘到 /var
目录,你需要编辑 /etc/fstab
文件,将新硬盘的挂载信息添加进去:
vi /etc/fstab
添加以下行,替换 /dev/sdb1
为你的硬盘设备名称:
/dev/sdb1 /var ext4 defaults 0 2
步骤 7:卸载临时挂载并挂载到 /var
现在可以卸载临时挂载目录并将新硬盘挂载到 /var
目录:
umount /mnt/new_var
mount -a
此时,新硬盘应该已经挂载到 /var
目录了。
步骤 8:验证挂载
使用 df -h
命令来确认新硬盘是否成功挂载到 /var
:
df -h
你应该看到类似于下面的输出:
Filesystem Size Used Avail Use% Mounted on
/dev/sdb1 100G 2G 98G 2% /var
步骤 9:重新启动系统
最后,重新启动系统以确保一切配置生效:
reboot
系统启动后,你的新硬盘应该已经挂载到 /var
目录,且不再受其他进程的干扰。
总结
通过单用户模式来实现 /var
目录的数据迁移和挂载,最大程度上避免了在迁移过程中由于系统进程写入 /var
导致数据丢失的风险。在单用户模式下,你可以安全地执行所有操作,确保硬盘挂载顺利完成。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2019-02-16 cae when分组统计
2018-02-16 通过ssh-keygen命令生成ssh 密钥