作者: hetao

  • pve挂载外部磁盘

    1. 使用fstab挂载

    /etc/fstab中加入

    /dev/unitek/backup /mnt/backup ext4 defaults,nofail,x-systemd.device-timeout=15 0 1

    默认如果fstab中的磁盘挂载失败会导致系统无法启动,加入nofail,x-systemd.device-timeout=15可以在usb磁盘没有插入时仍能启动系统,15是超时时间,如果15秒后还不能成功挂载磁盘则放弃。

    1. 使用autofs
      可以在首次访问挂载点时自动挂载,不会影响系统启动
    apt install autofs
    systemctl enable autofs.service
    echo /- /etc/auto.pve >> /etc/auto.master #添加一个直接挂载
    echo /mnt/backup    -fstype=ext4,defaults,timeout=0 :/dev/unitek/backup >> /etc/auto.pve # /etc/auto.pve是新建的文件,timeout=0指定不会自动卸载
    systemctl restart autofs
    

    Views: 67

  • pve压缩磁盘空间

    虚拟机中删除文件后并不会立即释放掉占用的物理磁盘空间,如果方法可以压缩磁盘释放空间
    1. linux
    执行fstrim -av,有些操作系统会每周自动执行一次,但并不是所有的都如此,这时候就需要手动执行
    2. windows
    windows10以上系统自动支持,不需要做任何操作
    查看fstrim启用状态,如果返回0就代表已经启用
    fsutil behavior query DisableDeleteNotify

    Views: 84

  • openwrt升级所有包

    1. shell脚本
      opkg list-upgradable | cut -f 1 -d ' ' | xargs -r opkg upgrade
    2. 安装第三方工具
      curl -L 'https://raw.githubusercontent.com/tavinus/opkg-upgrade/master/opkg-upgrade.sh' -o "/usr/sbin/opkg-upgrade" && chmod 755 "/usr/sbin/opkg-upgrade"
      然后执行
      opkg-upgrade

    Views: 79

  • pve支持ipv6

    保持默认/etc/network/interfaces

    修改 /etc/sysctl.conf 在最后添加
    net.ipv6.conf.all.accept_ra=2
    net.ipv6.conf.default.accept_ra=2
    net.ipv6.conf.vmbr0.accept_ra=2
    net.ipv6.conf.all.autoconf=1
    net.ipv6.conf.default.autoconf=1
    net.ipv6.conf.vmbr0.autoconf=1
    执行sysctl -p
    稍等片刻就能获得ipv6地址了

    Views: 340

  • LVM创建瘦池和瘦卷

    • 常用LVM命令
      lvm commands
    • 创建瘦池
      wipefs -a -b /dev/sdc
      wipefs -a -b /dev/sdb1
      pvcreate /dev/sdb1
      pvcreate /dev/sdc
      vgcreate hdd-raid /dev/sdb1 /dev/sdc
      lvcreate -l 100%FREE -T hdd-raid/vm-pool
    • 在瘦池上创建瘦卷
      lvcreate -V 4T -T hdd-raid/vm-pool -n backup2
      mkfs -t ext4 /dev/hdd-raid/backup2

    Views: 356

  • PVE配置SMTP





    密码保存在/etc/pve/priv/notifications.cfg

    Views: 330

  • linux硬盘自动休眠

    hdparm -B 127 -S 180 /dev/sda
    -B参数是设置硬盘的APM活性,值越低越节能,低于等于127的值允许盘片停止旋转
    -S参数是设置硬盘无活动时停转的超时时间
    -B和-S同时设置时是同时生效的,哪个条件先到达执行哪个

    持久化保存设置
    创建文件/etc/udev/rules.d/69-hdparm.rules,内容为

    ACTION“add|change”, KERNEL“sd[a-z]”, ATTRS{queue/rotational}“1”, RUN+=”/usr/bin/hdparm -B 127 -S 180/dev/%k”
    以上命令只对hdd生效,对ssd不生效。
    查询硬盘待机状态
    smartctl -i -n standby /dev/sdb

    Views: 349

  • 瑞芯微RK3588上跑KVM

    配置内核

    KERNEL_SRC=/root/src/kernel-rockchip
    cd $KERNEL_SRC
    touch .scmversion
    make ARCH=arm64 nanopi6_linux_defconfig
    make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- menuconfig

    make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- savedefconfig
    cp .config ./arch/arm64/configs/hetao_defconfig #Save the configuration as hetao_defconfig
    git add ./arch/arm64/configs/hetao_defconfig
    cd ..

    编译内核

    export KERNEL_SRC=$KERNEL_SRC
    export KCFG=hetao_defconfig
    cd sd-fuse_rk3588-kernel6.1
    MK_HEADERS_DEB=1 ./build-kernel.sh ubuntu-jammy-desktop-arm64

    生成sd卡固件

    ./mk-sd-image.sh ubuntu-jammy-desktop-arm64
    启动系统后安装qemu,结果如下

    Views: 458

  • nexus搭建docker hub镜像

    参考这个页面上的docker镜像列表
    https://gist.github.com/y0ngb1n/7e8f16af3242c7815e7ca2f0833d3ea6
    其中除了docker.nju.edu.cn和docker.m.daocloud.io,其它都只有文件服务,没有索引(docker index),所以nexus里面index要选择Docker Hub。docker.nju.edu.cn则可以选择Use proxy registry (specified above)。
    但是因为docker.nju.edu.cn和Docker Hub的Index并不一致,所以要统一选择Use proxy registry (specified above)。
    我用的上海交大和南京大学的镜像,测试下来这两个比较快。
    南京大学的配置

    上海交大的配置

    dcloud配置

    组合配置

    测试下来就这几个能用的,中科大的虽然能用但慢的一批,剩下的都用不了。
    我测试下来好用的几个docker hub镜像:
    https://docker.nju.edu.cn
    https://docker.mirrors.sjtug.sjtu.edu.cn
    https://docker.m.daocloud.io
    https://hub.c.163.com
    https://your_code.mirror.aliyuncs.com(需要登录获取code,同步滞后)
    上面几个镜像除了docker.nju.edu.cn外都要加library前缀才能拉取
    能用但速度极慢的:
    https://mirror.baidubce.com
    偶尔能用,但极不稳定:
    https://mirror.iscas.ac.cn
    https://dockerproxy.com

    Views: 505

  • termux自动启动服务(sshd)

    从f-droid安装termux和Termux:Boot,一定要从f-droid安装或下载才行,不同商城app不兼容。
    Termux设为后台运行无限制,Termux:Boot设为开机自启
    然后进行Termux
    执行

    apt update
    apt upgrade
    apt install openssh vim termux-services
    mkdir ~/.termux/boot/
    cat << EOF > ~/.termux/boot/termux-services
    #!/data/data/com.termux/files/usr/bin/sh
    termux-wake-lock
    . $PREFIX/etc/profile
    EOF
    

    重启app执行sv-enable sshd,再重启app就可以自动启动服务了。
    ssh的默认端口是8022,用户名是随机的(安装时候系统分配的,重新安装会变)要用whoami来看,重置密码用passwd

    Views: 552