Debian11基于zfs安装PVE7
本次安装基于debian,使用6块2TB的nvme固态构建zfs进行安装。同时由于内核bug,国产nvme硬盘,pve8.0只能读取一块,预计会在kernel6.4进行修复,因此这里使用debian11安装pve7
第一步 :准备安装环境
启动 Debian GNU/Linux Live CD,使用用户名
user和密码live登录,连接网络。设置和更新存储库
sudo vi /etc/apt/sources.list# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free # deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye main contrib non-free deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free # deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-updates main contrib non-free deb http://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free # deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ bullseye-backports main contrib non-free deb http://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free # deb-src http://mirrors.tuna.tsinghua.edu.cn/debian-security bullseye-security main contrib non-free # deb http://security.debian.org/debian-security bullseye-security main contrib non-free # # deb-src http://security.debian.org/debian-security bullseye-security main contrib non-freesudo apt update(可选) :在 Live CD 环境中安装并启动 OpenSSH 服务器
这样进行后续配置会非常方便
sudo apt install --yes openssh-server sudo sed -i '/^#PermitRootLogin/aPermitRootLogin yes' /etc/ssh/sshd_config sudo systemctl restart ssh修改root密码,直接使用root进行登录
sudo passwd root在使用ssh登录之前,建议将debian的自动休眠关闭
禁用自动挂载
如果磁盘之前已被使用过(分区具有相同的偏移量),则以前的文件系统(例如 ESP)将在未禁用的情况下自动挂载
gsettings set org.gnome.desktop.media-handling automount false切换为root用户
su - root在 Live CD 环境中安装 ZFS
apt install --yes debootstrap gdisk zfsutils-linux
第二步 :磁盘格式化
使用磁盘名称设置变量
始终对 ZFS 使用长
/dev/disk/by-id/*别名。直接使用/dev/sd*设备节点可能会导致偶发性导入失败,尤其是在具有多个存储池的系统上提示:
ls -la /dev/disk/by-id将列出别名选择启动池大小时,请考虑如何使用该空间。一个内核和initrd可能消耗100M左右。如果您有多个内核并拍摄快照,您可能会发现启动池空间不足,特别是如果您需要重新生成 initramfs 映像(每个映像可能约为 85M)。根据您的需要适当调整启动池的大小
对于镜像或 raidz 拓扑,请使用
DISK1、DISK2等。
如果您要重复使用磁盘,请根据需要清除它
确保交换分区未被使用
如果该磁盘以前与 zfs 一起使用过
一旦擦除分区信息所有数据会丢失
对于基于闪存的存储,如果磁盘以前被使用过,您可能希望进行全盘丢弃(TRIM/UNMAP),这可以提高性能
清除分区表
如果您收到有关内核仍在使用旧分区表的消息,请重新启动并重新开始
对磁盘进行分区
创建启动池
GRUB 不支持所有 zpool 功能。请参阅
spa_feature_namesgrub -core/fs/zfs/zfs.c。此步骤创建一个单独的引导池,/boot其功能仅限于 GRUB 支持的功能,从而允许根池使用任何/所有功能。请注意,GRUB 以只读方式打开池,因此 GRUB “支持”所有只读兼容功能。创建根池
创建数据池
第三步 :系统安装
创建文件系统数据集作为容器
为根文件系统和引导文件系统创建文件系统数据集
创建数据集
在 /run 挂载 tmpfs
安装最小系统
复制到 zpool.cache 中
第四步 :系统配置
配置主机名
添加下面这一行
配置网络接口
找到接口名称
调整
NAME以下内容以匹配您的接口名称,enp15s0为作者设备接口名称,请自行更换添加以下内容,
enp15s0为作者设备接口名称,请自行更换配置包源
将虚拟文件系统从 LiveCD 环境绑定到新系统并绑定
chroot到其中这里使用DISK0
配置基本系统环境
即使您更喜欢非英语系统语言,也请始终确保该语言
en_US.UTF-8可用在新系统的 chroot 环境中安装 ZFS
**注意:**忽略任何显示和的错误消息
安装GRUB
安装 GRUB 以进行 UEFI 引导
笔记:
对于镜像或 raidz 拓扑,此步骤仅在第一个磁盘上安装 GRUB。其他磁盘将在稍后处理
如果提示无法找到DISK0,请重新执行 第二步 :使用磁盘名称设置变量
可选:删除 os-prober
这可以避免来自update-grub 的错误消息。 os-prober仅在双引导配置中才是必需的
设置root密码
启用导入 bpool
这确保了
bpool始终被导入,无论是否/etc/zfs/zpool.cache存在、是否在缓存文件中、或者是否zfs-import-scan.service启用可选(但推荐):挂载 tmpfs
/tmp可选:安装 SSH
第五步 :GRUB安装
验证 ZFS 引导文件系统是否被识别
刷新 initrd 文件
**注意:**忽略任何显示和的错误消息
GRUB 缺少 zpool-features 支持的解决方法
可选(但强烈推荐):使调试 GRUB 更容易
稍后,一旦系统重新启动两次并且您确定一切正常,您可以根据需要撤消这些更改
更新启动配置
**注意:**忽略来自 的错误
osprober(如果存在)安装引导加载程序
对于 UEFI 引导,将 GRUB 安装到 ESP
此处无需指定磁盘。如果您要创建镜像或 raidz 拓扑,则将稍后处理其他磁盘
修复文件系统挂载顺序
我们需要激活
zfs-mount-generator. 这使得 systemd 知道单独的挂载点,这对于/var/log和之类的东西很重要/var/tmp。反过来,rsyslog.service依赖于使用systemd 自动使用功能var-log.mount的方式local-fs.target和服务。PrivateTmp``After=var-tmp.mount通过确保这些不为空来验证是否
zed更新了缓存如果其中一个为空,则强制更新缓存并再次检查
如果它们仍然为空,请停止 zed(如下),启动 zed(如上所述),然后重试
一旦文件有数据,停止
zed修复要消除的路径
/mnt
第六步 :首次启动
可选:初始安装快照
将来,您可能希望在每次升级之前拍摄快照,并在某个时候删除旧快照(包括此快照)以节省空间
从
chroot环境退出回到LiveCD环境在 LiveCD 环境中运行以下命令以卸载所有文件系统
如果 rpool 失败,则在启动时安装它将会失败,您需要在 initamfs 提示符中执行
zpool import -f rpool, 然后exit重启
等待新安装的系统正常启动。以 root 身份登录
配置zfs内存使用
默认情况下, ZFS 将*50%*的主机内存用于自适应替换缓存(ARC)。为 ARC 分配足够的内存对于 IO 性能至关重要,因此请谨慎减少内存。根据一般经验,至少分配
2 GiB Base + 1 GiB/TiB-Storage。例如,如果您有一个具有8 TiB可用存储空间的池,那么您应该为 ARC使用10 GiB内存请将12修改为自己主机的参数
可选:删除初始安装的快照
第七步 :安装PVE
安装
pve仓库源添加Proxmox VE 存储库密钥
更新您的存储库和系统
安装Proxmox VE 内核
安装Proxmox VE 包
移除debian内核
更新并检查 grub2 配置
镜像GRUB
如果安装到多个磁盘,请在其他磁盘上安装 GRUB
对于 UEFI 启动
对于第二个及后续磁盘(将 debian-2 增加到 -3 等)
可选(但建议):删除 os-prober 软件包
第八步 :配置PVE
连接到 Proxmox VE 网络界面
连接到管理 Web 界面 (
https://your-ip-address:8006)。如果您是全新安装且尚未添加任何用户,则应选择 PAM 身份验证领域并使用root用户帐户登录创建Linux网桥
登录后,创建一个名为
vmbr0的Linux网桥,并向其中添加您的第一个网络接口,网络接口名称同上重启该服务器
Last updated