debian装到zfs里面(Trunas 安装时分区)
前面的文章最后提到要把debian 装到zfs里面
我的硬件是H11SSL-i
windows 因为加了9271-8i的原因只能装server2019
但是又想把这个windows放在虚拟机中给它SSD和显卡的直通
这个pve环境最好是个代kde界面,并且具备Truenas的这样有几本NAS管理界面的设定。。。
所以我的第一步还是安装trunas
ventory在这台电脑上没法把trunas加载出来,
用BMC IPMI挂的镜像文件安装成功了,但是直接把16T的硬盘全部划给boot-pool了
想进debian-live改容量debian安装zfs ,结果发现。。。安装的openzfs没法编辑truenas的zpool只能只读打开,我救恩准备重新安装了,装完truenas安装kde和gnome也许有可能要安装sddm,如果可以安装上的话,最后再在安装好的情况下安装PVE
又发现
[Scale][Howto] split ssd during installation : r/truenas
BF01
最新版的没有fdisk只有gdisk了。。。
TrueNAS Scale installation on partitioned drive | TrueNAS Community(这里有老哥给了gdisk的)
但这些都是复制小驱动器到大的驱动器的。。。
Reduce ZFS partition size : r/zfs
直接用truenas的安装包改安装后的ZFS大小好了
这里直接改安装脚本
新的版本变成这里了:
进shell
输入这个
sed -i 's/-n3:0:0/-n3:0:+16384M/g' /usr/lib/python3/dist-ptrackages/truenas_installer/install.py
然后输入exit
就可以回到安装页面
这个写法是16G的,小点到时候能扩容
引用自How to install TrueNAS SCALE on a partition instead of the full disk · GitHub
为了方便安装PVE和KDE。。。我给引导分区1G 给root分了60G,重启进入ui继续改shell(system--shell)
sed -i 's/-n2:0:0/-n2:0:+1G/g' /usr/lib/python3/dist-ptrackages/truenas_installer/install.py
sed -i 's/-n3:0:0/-n3:0:+60G/g' /usr/lib/python3/dist-ptrackages/truenas_installer/install.py
Number Start (sector) End (sector) Size Code Name
1 4096 6143 1024.0 KiB EF02
2 6144 2103295 1024.0 MiB EF00
3 2103296 125829120 59.0 GiB BF01
把剩下的分给一个分区,BF01是bpool的code
sudo gdisk /dev/sda
n
一路回车然后输入BF01
然后
sudo zpool create 随意名字 /dev/sda4就是你刚才加的那个分区
这时候会出错因为truenas只能通过自己UI导入才能正常读写。。。
所以我也不知道数据出问题了。。。找谁去。。。哈哈哈
sudo zpool export 那个随意的名字
再在storage里面点import pool导入刚才生成的zpool(就是那个随意的名字)就可以了
下面我就继续折腾开启
apt开启
# Remount as read-write
sudo mount -o remount,rw 'boot-pool/ROOT/24.10.2/usr'
# Add bin / sbin directories to path.
export PATH=/usr/bin:/usr/sbin
# Add executable flag to binaries, which is emoved by the TrueNAS team.
sudo chmod +x /bin/apt*
# Re-enable the ability to execute the dpkg binary.
sudo chmod +x /usr/bin/dpkg
开启是开启了但是,基本是不能安装任何东西因为源还是trunas的不是debian的。。。
最后再安装PVE
Install Proxmox VE on Debian 12 Bookworm - Proxmox VE
准备ssh
Allow Kerberos Authentication
要打开不然大多数的ssh都登录不上去
第一步改hosts!!!
sudo vi /etc/hosts
hostname --ip-address
返回的不要是127.0.0.1,我不知道之前的debian装pve是不是这个导致的没有网。。。
#127.0.0.1 truenas.local truenas
127.0.0.1 localhost
10.234.53.64 prox4m1.proxmox.com prox4M1 truenas.local truenas
第二步
echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
改源
但是你会发现没有读写权限,两种办法,一 su
前提是你在图形界面改了root密码,默认的是没有密码的所以没法 su
成 root
第二种
sudo bash -c 'echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list'
zsh bash sh都可以看你shell的
第三步
下载PVE的key
sudo wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg
第五步
这时候pve的源就加入成功了
sudo apt update && apt full-upgrade
还是会提醒你不要apt,无所谓了
第六步
开始安装pve的内核
sudo apt install proxmox-default-kernel
会得到一个错误,大概就是boot不能读写的问题
unable to clean up mess surrounding './boot/System.map-6.8.12-9-pve
重新把mount ro的改成rw
mount |grep ro, |grep boot|awk '{print $1}'
boot-pool/ROOT/24.10.2
boot-pool/ROOT/24.10.2/conf
boot-pool/ROOT/24.10.2/opt
boot-pool/ROOT/24.10.2/usr
这些是ro的,做个记录
mount |grep ro |grep boot|awk '{print $1}'| xargs -i sudo mount -o remount,rw '{}'
sudo apt --fix-broken install
还是有/lib/firmware/e100/d101m_ucode.bin没法overwrite的问题
sudo dpkg --purge --force-all firmware-intel-misc firmware-intel-graphics firmware-mediatek
说白了就是一些驱动Truenas和PVE都有,另外的的硬件是AMD,强制删除Truenas中的驱动安装PVE的,遇到啥就导致出错就把原来的卸载掉在 sudo apt --fix-broken install
就好了
然后又是一堆错误:
mdadm: failed to auto-generate temporary mdadm.conf file.
mkinitramfs: failed to determine device for /
sudo bash -c 'echo "MODULES=most" >> /usr/share/initramfs-tools/conf-hooks.d/zfs'
sudo touch /etc/initramfs-tools/modules
参考自:在TrueNAS系统中安装PVE内核 | 迷失的小K 大概是告诉pve我们的引导是zfs的而不是debian默认的md
继续 sudo apt --fix-broken install
然后就是官方的:
sudo systemctl reboot
就是重启
就看能不能起来了。。。
第七步
重启了只读的分区还是只读。。。所以得再执行下挂载rw,我这段写的好丑啊。。。
mount |grep ro |grep boot|awk '{print $1}'| xargs -i sudo mount -o remount,rw '{}'
sudo apt install proxmox-ve postfix open-iscsi chrony
有错误,大概是因为truenas现在也是有虚拟机的,然后这两者不兼容
librados2在https://apt.sys.truenas.net/electriceel/nightlies/debian中的版本低于pve需要的librados2 (>= 16.2.15+ds)
sudo vi /etc/apt/sources.list
把原来的主源备注掉
在这一行按 o
添加 debian
的主源,把truenas的主源备注掉
deb https://deb.debian.org/debian bookworm main
再 sudo apt update
然后 sudo apt install librados2
更新掉这个卡住的lib。。。。
这时候一堆 trunas
的依赖库可以删掉了 sudo apt autoremove
估计就是这个时候因为主源回到了debian导致的问题。。。安装完 librados2
后切换回 truenas
的源并 sudo apt update
不然会导致下面的 truenas
的 zfs
丢失。。。
把这个再来一遍我估摸着
sudo apt install proxmox-ve postfix open-iscsi chrony
呃。。。需要1300多M。。。我已经不确定安装完后truenas还能不能正常跑了。。。
sudo apt remove linux-image-amd64 'linux-image-6.1*'
还有些不太影响大碍的erro就忽略了,到时候pve起不来再修
sudo update-grub
呃。。。貌似。。。主源里面因为不带 。。。把 contrib
zfs
相关的删除了。。。grub2找不到zfs的引导。。。
把主源切回 truenas
。。。
sudo dpkg --purge --force-all proxmox-ve
sudo apt install zfsutils
嗯。。。过会在安装下 proxmox-ve
,并且上面的安装过程会询问你是否需要覆盖安装肯定要覆盖。。。不然引导都没了。。。系统玩完了。。。
再来一遍 sudo apt install proxmox-ve postfix open-iscsi chrony
外加 sudo apt remove linux-image-amd64 'linux-image-6.1*'
把 proxmox-ve
安装的集成到内核的意思吧,
sudo update-grub
提示 libzfs
缺失这个这是个 python
的 lib
不能简单通过 apt
恢复???毕竟我前面的都是 apt
操作啊
wget https://github.com/truenas/py-libzfs/archive/refs/heads/master.zip
unzip master.zip
cd py-libzfs-master
./configure && make install
最后还是找到 sudo apt install python3-libzfs
就不要自己编译了。。。
然后就有1300M的东西提示 apt autoremove
了。。。所以就是那个源的问题。。。之前的那个换源只是为了 librados2
可以安装上去。。。我删除了1300M然后彻底。。。没法运行啦。。。因为zsh都被删了。。。
哈哈哈
!!!重装!!!
重开一篇TrueNas上安装PVE和kde Genome图形界面
在安装kde和genome
Developer Workstations with Proxmox VE and X11 - Proxmox VE
介绍的装的是xfce4和lightdm,我想装的是kde,gnome用的是sddm登录界面