truenas scale 25.04 安装 redroid 云安卓

  1. 重新编译镜像
    因为redroid要用到binder_linux内核模块,但是truenas默认的内核并没有这玩意,需要重新编译。
    1. 可以下载我编译好的自编译truenas_scale,然后手动安装/更新
    2. 也可以自己编译
    #进入truenas你的一个目录位置
    cd /mnt/p4510
    #安装开发者工具
    install-dev-tools
    sudo mount -o remount,rw /
    sudo apt install build-essential debootstrap git python3-pip  squashfs-tools unzip libjson-perl rsync libarchive-tools
    wget https://wx.scjtqs.com/downloads/%E8%87%AA%E7%BC%96%E8%AF%91truenas_scale/python3.11-venv.deb
    # 因为truenas的apt源里面的python3-venv无法安装,这里我手动打包了个可用的deb出来
    sudo apt install ./python3.11-venv.deb
    # 拉取编译脚本,这里可以用我改过(添加了蓝牙和binder的内核支持)的脚本来编
    git clone https://github.com/scjtqs2/scale-build.git -b stable/fangtooth
    cd scale-build
    # 拉取依赖
    make checkout
    # 编译需要的deb包
    make packages
    # 创建update升级包
    make update
    # 创建iso安装镜像
    make iso
    
    1. 当然,你也可以用docker环境来编译,不安装开发者套件
    ### create a docker runner
    cd /mnt/p4510
    git clone https://github.com/scjtqs2/scale-build.git -b stable/fangtooth
    docker run --rm -d \
      --name truenas-builder \
      --privileged \
      -v /mnt/p4510/scale-builder:/workspace \
      scjtqs/truenas-build:bookworm
    ## build
    docker exec -it truenas-builder bash
    # 拉取依赖
    make checkout
    # 编译需要的deb包
    make packages
    # 创建update升级包
    make update
    # 创建iso安装镜像
    make iso
    
    浏览全部

truenas scale 25.04 安装k3s

背景

从之前的truenas 22一路过来,之前的很多东西都是用的K8s的方式部署的,之后truenas 迁移到docker以后,也单独弄了个虚拟机来跑之前k3s懒得迁移的业务。 折腾过truenas新出的Incus的容器和虚拟机,最后还是选择了docker的方式直接跑k3s。因为incus的那个容器手动配了特权后,web页面会崩。

通过docker来跑k3s

  1. 创建docker-compose.yaml文件,有其他需要的化自己加ports端口。
version: '3'
services:
  k3s-server:
    image: rancher/k3s:v1.26.5-k3s1
    container_name: k3s-server
    privileged: true
    restart: always
    ports:
      - "6443:6443"       # K3s API Server
      #- "80:80"           # HTTP (Ingress) 不再需要,用truenas app的那个nginx就行了,有需要自己改端口解放出来
      #- "443:443"         # HTTPS (Ingress) 不再需要,用truenas app的那个nginx就行了
    volumes:
      - /mnt/p4510/k3d-library:/var/lib/rancher/k3s  # 持久化数据,自己 修改成你的存储位置
      - /mnt/p4510/etc/k3s:/etc/rancher/k3s          # 配置文件,自己 修改成你的存储位置
      - /mnt/storage:/mnt/storage
    command: >
      server 
      --disable servicelb        # 禁用掉k3s自带的loadbalance
      --disable traefik           # 禁用掉k3s自带的traefik(一种非nginx的Ingress)
      --node-name k3s-server 
      --service-cidr 10.43.0.0/16,fd00:10:43::/112 
      --cluster-cidr 10.42.0.0/16,fd00:10:42::/56
      --kubelet-arg max-pods=900
      --disable metrics-server
      --flannel-ipv6-masq     # 开启了ipv6流量代理,使pod内部环境可以直接访问公网的ipv6地址
    environment:
      K3S_KUBECONFIG_MODE: "644" 

浏览全部

truenas scale 25.04.0 安装 dg1 显卡支持 frigate 配置

本人配置

  1. h12ssl + 7352 +dg1
  2. esxi 8.0 直通truenas
关于如何点亮,这里就不另说了。 之前的dg1驱动,即便是编译好了,安装上了,运行起来也会有很多问题(时不时就死了),正好,现在truenas scale 25.04内核大于6.8了,可以用xe驱动凑活着用了。

开始操作

  1. esxi直通dg1。有两个,一个显卡,一个音频。(音频的可要可不要,也就是可以不加入到虚拟机中)
  2. 配置虚拟机直通,添加dg1到虚拟机,如图所示:
  3. 配置虚拟机参数:
    svga.present=FALSE  #禁用esxi自带的显卡,一定要关,否则dg1驱动不了
    pciPassthru.use64bitMMIO=TRUE
    pciPassthru.64bitMMIOSizeGB=8
    hypervisor.cpuid.v0=FALSE
    
  4. 配置truenas scale (一次性的配置):
    # 修改引导参数,强制启用dg1。我这里的是蓝戟半高款,其他型号自行提换
    midclt call system.advanced.update '{"kernel_extra_options": "xe.force_probe=4908 i915.force_probe=!4908"}'
    
    4 配置truenas scale (每次更新系统都要重新配置):
    # 进到你的一个目录
    cd /mnt/your_path
    # 下载最新的固件
    git clone https://github.com/intel-gpu/intel-gpu-firmware.git
    systemd-sysext unmerge
    # 不同的版本换成不同的目录
    zfs set readonly=off boot-pool/ROOT/25.04.0/usr
    mount -o remount,rw /
    sudo cp firmware/*.bin /lib/firmware/i915/
    sudo update-initramfs -u -k all
    systemd-sysext merge
    # 操作完后重启
    reboot
    

浏览全部

truenas scale 24.04 开启apt 开发者模式(Developer Mode)

truenas scale 从24.04 beta1开始,/usr/bin下的东西变成了只读的了。不再是 chmod +x /usr/bin/*来解开apt了。

这里需要手动开启开发者模式:

install-dev-tools

用root用户,在shell下输入上面的命令开启

Encountered Read-only file system problem, unable to create anything

如果你执行什么命令,出现了系统只读问题。执行下面命令:

zfs get readonly

查看哪些路径是只读的。需要把 on改成off

zfs set readonly=off [dataset]

例如 zfs set readonly=off boot-pool/ROOT/24.04-BETA.1

truenas scale 中使用 nvidia grid 驱动(esxi中使用vpgu切割显卡给truenas)

背景

随着ai的大兴,和狂潮的结束,各种显卡都出来了。尤其是一些大显存的卡,像什么nvidia tesla p4 8G、 nvidia tesla P40 24G、nvidia tesla P100 16G 之类的纯计算卡,支持vgpu,可以一卡分配给多个系统使用。这里 博主自己搞了块p4的半高刀卡显卡插到了我的超微x11sri-if上使用。

先要卸载官方原版的n卡驱动

apt remove nvidia-alternative
apt-get autoremove

浏览全部