Skip to content

Linux桌面版安装迁移到LVM #364

@RandolphChin

Description

@RandolphChin

场景:服务器需要联网安装一些必备的基础软件,并且需要图形界面浏览器进行网络认证才能联网。此教程是先用桌面版普通安装,然后迁移到LVM。
LVM(Logical Volume Manager)逻辑卷管理,可以在系统运行的状态下动态的扩展文件系统的大小。

1 快速安装桌面版

/boot/efi: 1GB (EFI)
/boot: 2GB (ext4)  
/: 50GB (ext4) - 临时的根分区,只够用来启动系统
swap: 32GB

剩余空间留空不分配

2 配置LVM

安装完桌面版、完成网络认证、更新系统安装基础软件,在已经运行的系统中创建LVM

# 1. 安装 LVM 工具(如果没有)
sudo apt update
sudo apt install lvm2

# 2. 查看现有磁盘布局(会显示出所有已分配和 未分配(free space) 的空间)
lsblk
# 查看详细的分区信息,包括未分配空间
sudo fdisk -l /dev/sda
sudo parted /dev/sda print free

# 查看109TB硬盘的情况
sudo fdisk -l /dev/sdb  # 或根据实际设备名调整

# 3. 在未分配空间上创建新分区
# 使用 parted 交互式创建分区(推荐)
sudo parted /dev/sda

# 在 parted 提示符下执行:
(parted) print free          # 查看空闲空间的起始位置
(parted) mkpart primary 132GB 447GB    # 创建一个使用所有剩余空间的分区
(parted) set 5 lvm on        # 将新分区标记为LVM类型(假设是第5个分区)
(parted) quit

# 4. 为109TB硬盘创建分区(第二块硬盘)
sudo parted /dev/sdb

(parted) mklabel gpt         # 创建GPT分区表
(parted) mkpart primary 0% 100%    # 使用全部空间
(parted) set 1 lvm on        # 标记为LVM
(parted) quit

# 5. 刷新分区表
sudo partprobe
# 或者
sudo partprobe /dev/sda
sudo partprobe /dev/sdb

# 6. 创建LVM物理卷
# 为新创建的分区创建物理卷
sudo pvcreate /dev/sda5      # 447GB磁盘的剩余空间
sudo pvcreate /dev/sdb1      # 109TB磁盘

# 7. 创建卷组
# 创建系统扩展卷组(使用447GB的剩余空间)
sudo vgcreate vg_os_extend /dev/sda5

# 创建数据卷组(使用109TB硬盘)
sudo vgcreate vg_data /dev/sdb1

# 8. 创建逻辑卷
# 在 vg_os_extend 中创建 /var 和 /home 的扩展空间
sudo lvcreate -L 100G -n lv_var vg_os_extend
sudo lvcreate -L 100G -n lv_home vg_os_extend

# 在 vg_data 中创建主数据分区
sudo lvcreate -L 50T -n lv_data vg_data

# 格式化
sudo mkfs.ext4 /dev/vg_os_extend/lv_var
sudo mkfs.ext4 /dev/vg_os_extend/lv_home
sudo mkfs.xfs /dev/vg_data/lv_data

# 9. 挂载和配置自动挂载
# 创建挂载点
sudo mkdir /data

# 临时挂载(用于迁移数据)
sudo mkdir /mnt/new_var /mnt/new_home
sudo mount /dev/vg_os_extend/lv_var /mnt/new_var
sudo mount /dev/vg_os_extend/lv_home /mnt/new_home

# 迁移数据
sudo rsync -avxHAX /var/ /mnt/new_var/
sudo rsync -avxHAX /home/ /mnt/new_home/

# 获取UUID
sudo blkid /dev/vg_os_extend/lv_var
sudo blkid /dev/vg_os_extend/lv_home
sudo blkid /dev/vg_data/lv_data

# 编辑 /etc/fstab 添加自动挂载
sudo vim /etc/fstab

# 添加以下行(替换UUID为实际值):
# UUID=xxxx /var ext4 defaults 0 2
# UUID=yyyy /home ext4 defaults 0 2
# UUID=zzzz /data xfs defaults 0 2

# 其中的 xxxx yyyy zzzz 需要进行替换

# 10 . 重启前验证(修改并保存好 /etc/fstab 文件后,千万不要立即重启)
sudo mount -a
如果这个命令执行后没有任何输出,恭喜您!这说明您的 fstab 文件完全正确,所有分区都已成功挂载。现在您可以安全地重启了

3 动态扩容

假如 /var 分区空间吃紧

# 1. 扩展逻辑卷
sudo lvextend -L +20G /dev/vg_os_extend/lv_var

# 2. 扩展文件系统
sudo resize2fs /dev/vg_os_extend/lv_var

整个过程可以在线完成,无需停机。

桌面版本切换为服务器版本(通过 GRUB 启动选项控制)

  1. 编辑 GRUB 配置
sudo vim /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
修改为
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash text"
  1. 更新 GRUB 配置
sudo update-grub
sudo reboot

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions