CentOS Linux 将 /var 挂载在新增磁盘上

步骤 1:进入单用户模式

  1. 重新启动系统

  2. 在启动时进入 GRUB 菜单。你可以通过按 Shift(在某些系统上是 Esc)键来显示 GRUB 菜单。

  3. 选择你要启动的内核(一般是默认的那个),然后按 e 键进入编辑模式。

  4. 找到启动行(以 linuxlinux16 开头的那行),并在行的末尾添加 single1,表示启动单用户模式。

    例如:

    linux16 /vmlinuz-3.10.0-1127.el7.x86_64 root=/dev/mapper/centos-root ro single
    
  5. 按下 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 导致数据丢失的风险。在单用户模式下,你可以安全地执行所有操作,确保硬盘挂载顺利完成。

posted @   岳麓丹枫  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 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 密钥
点击右上角即可分享
微信分享提示