月度归档: 2024 年 1 月

  • 瑞芯微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,结果如下

  • 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

  • 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

  • PVE定时备份及计划任务

    PVE添加自动备份的位置在:数据中心->备份->添加

    重点是计划字段的语法,它不同于crontab,但是比crontab更灵活,具体语法格式在这里:
    https://pve.proxmox.com/wiki/Calendar_Events#chapter_calendar_events
    https://pbs.proxmox.com/docs/calendarevents.html
    形如:
    [WEEKDAY] [[YEARS-]MONTHS-DAYS] [HOURS:MINUTES[:SECONDS]]
    每两天备份一次可以这样写:*-*-*/2 00:00:00,每5个小时备分一次:*-*-* */5:00:00
    或者*-*-* 0/5:00:00也是可以的
    对应的配置文件是/etc/pve/jobs.cfg

  • rsync同步文件列表

    cat /opt/rsync.lst
    etc/supervisor
    etc/wireguard
    opt
    etc/coredns
    etc/rc.local
    rsync -atzv --delete --exclude="*.log" --exclude="*.log.gz" --files-from=/opt/rsync.lst / root@192.168.33.20:/shared_folder/ali/
    

    这里面源目录虽然写在/opt/rsync.lst中了,但是源目录的位置还要写个/,表示rsync.lst中的文件列表都是在根目中的,会先cd到根目录然后开始复制。
    –files-from选项复制的文件默认会保留源目录结构,如果想去掉文件路径前缀(命令行参数中的源路径)可以指定–no-relative 或 –no-R

  • linux上使用nextcloud客户端同步文件

    add-apt-repository ppa:nextcloud-devs/client
    apt update
    apt install nextcloud-desktop-cmd
    nextcloudcmd --path /备份盘/ali/opt /opt https://ali:123456@pan.hetao.me
    # /opt是本地目录,/备份盘是nextcloud上的目录
    

    不过nextcloud同步有个问题,文件权限会丢失,这样就不适合同步系统文件,同步系统文件还是用rsync。
    rsync -atzv --exclude="*.log" --exclude="*.log.gz" /opt root@192.168.33.20:/shared_folder/ali/

  • AC控制器开启IP地址学习功能

    wlan
    wired-port-profile name default
      learn-client-address ipv4 enable
      learn-client-address ipv6 enable
      quit
    vap-profile name default
      undo nd trust port
      undo learn-client-address ipv4 disable
      undo learn-client-address ipv6 disable
    

    这样能监控到每个终端的IP地址,同时有些功能也依懒于IP地址学习功能。

  • 华为AirEngine9700S-S下的无线终端IPv6间歇性断网(收不到RA组播报文)

    无线侧的终端主要是手机,而且还不是所有的手机都有问题,导致问题排查起来比较困难
    因为手机上一直提示的是ERR_NAME_NOT_RESOLVED(不知道为啥会提示这个),刚开始以为是DNS的问题,但是怎么换dns服务器都没用。
    先是想root手机进到系统里面进行调试,但是小米的解锁资格没申请到,后来安装安卓usb驱动,用adb进行为手机shell观察路由发现ipv6路由的生存时间很短,然后等到路由过期果然IPv6断网了。
    下面用wireshark抓包一直抓不到icmpv6 ra报文,只有wifi连接建立的时候收到一个单播的ra报文。思来想去觉得问题可能出在组播上,然后在ac控制器上把与组播相关的配置都找出来,直到关闭组播转单播功能的时候wireshark上面出现了icmpv6的ra报文。
    命令行关闭组播转单播

    wlan
    traffic-profile name default
    undo traffic-optimize multicast-unicast enable
    

    这个问题历时几个月(主要也不是致命问题,没有ipv6还可以用ipv4),实际的排查过程比上面说的还要曲折。
    论坛上发的求助贴:
    https://forum.huawei.com/enterprise/zh/thread/742838730168877056?page=1&floor=2

  • pve开启spice

    虚拟机设置

    1. 修改显卡
      在硬件->显示里面把显卡设为Spice,显存设为32MB
    2. 选项里面Spice增加打开
      开启视频流后需要消耗200多MBps的带宽,所以不要开视频流。关了视频流以后带宽消耗也在100Mbps以上,有点尴尬。

    虚拟Windows系统设置

    1. 安装qemu guest tools,qemu guest agent
    2. 安装spice guest tools
      https://www.spice-space.org/download/windows/spice-guest-tools/spice-guest-tools-latest.exe

    使用

    1. 安装virt-viewer
      手机上要安装一个收费的app才行
      https://play.google.com/store/apps/details?id=com.undatech.opaque
    2. 打开虚拟机控制台选择spice
      然后会自动下载后缀为vv的文件,打开即可

    使用Spice的好处是可以与i915-sriov-dkms共存,而spice相对rdp的优势是可以看到系统Bios,这在系统故障时会有用。如果不是要开SR-IOV则spice的优势并不是太明显。