diff --git "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/1-\345\256\211\350\243\205CSV\350\275\257\344\273\266.md" "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/1-\345\256\211\350\243\205CSV\350\275\257\344\273\266.md" index e9db34968be0f40a6db46bcb481642144576909d..ddd8065dd106571b7086b00f0291e4c516e22cb8 100644 --- "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/1-\345\256\211\350\243\205CSV\350\275\257\344\273\266.md" +++ "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/1-\345\256\211\350\243\205CSV\350\275\257\344\273\266.md" @@ -1,4 +1,9 @@ -安装CSV软件之前,请先安装内核并导入通用安全证书。 + +安装CSV软件之前,请先准备系统环境并导入通用安全证书。 + +请参考[1-1-安装操作系统和内核](https://openanolis.cn/sig/Hygon-Arch/doc/824231181808631655)准备系统环境。 + +请参考[1-2-导入通用安全证书](https://openanolis.cn/sig/Hygon-Arch/doc/865622274698254162)导入通用安全证书。 ## 安装依赖软件 @@ -7,16 +12,16 @@ $ sudo /opt/hygon/csv/install_csv_sw.sh ``` ## 安装qemu - +**麒麟系统不需要该步骤,使用系统自带即可,kata 测试不需要该步骤*** ``` $ git clone https://gitee.com/anolis/hygon-qemu.git $ cd hygon-qemu/ $ sudo /opt/hygon/csv/build_qemu.sh ``` -**麒麟系统不需要该步骤,使用系统自带即可** -## 安装grub +## 安装grub +**麒麟系统不需要该步骤,使用系统自带即可,kata 测试不需要该步骤*** ``` $ wget https://ftp.gnu.org/gnu/grub/grub-2.06.tar.gz $ tar -xvf grub-2.06.tar.gz @@ -25,6 +30,8 @@ $ sudo /opt/hygon/csv/build_grub.sh ``` ## 安装edk2 +**麒麟系统不需要该步骤,使用系统自带即可,kata 测试不需要该步骤** + **编译依赖安装grub章节** ``` $ git clone https://gitee.com/anolis/hygon-edk2.git @@ -43,14 +50,14 @@ $ sudo ./build_devkit.sh ``` ## 安装虚拟机内核 +**kata 测试不需要该步骤** + ### 运行虚拟机 ``` -$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 6114 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc localhost:0 -object sev-guest,id=sev0,policy=0x1,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -麒麟系统qemu 网络不支持user 模式,需要使用如下命令: -$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 6114 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc localhost:0 -object sev-guest,id=sev0,policy=0x1,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -netdev bridge,br=virbr0,id=net0 -device virtio-net-pci,netdev=net0 +$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 6114 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc 0.0.0.0:0 -object sev-guest,id=sev0,policy=0x1,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -netdev bridge,br=virbr0,id=net0 -device virtio-net-pci,netdev=net0,romfile= -nographic ``` ### 安装虚拟机内核 -虚拟机内核使用主机编译好的内核,*vncviewer localhost:0* 登录虚拟机,虚拟机账号为root,密码为root。 +虚拟机内核使用主机编译好的内核,登录虚拟机,虚拟机账号为root,密码为root。 ``` # dhclient # scp host@hostip:/opt/hygon/kernel.tgz ./ diff --git "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/2-\346\265\213\350\257\225\344\270\273\346\234\272\345\206\205\345\255\230\345\212\240\345\257\206.md" "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/2-\346\265\213\350\257\225\344\270\273\346\234\272\345\206\205\345\255\230\345\212\240\345\257\206.md" index e4a746e4a9be7c8f90402b496321a55baa2c3270..73a4aee8507b1f1811ec9cd1acfefc4e79a3ac12 100644 --- "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/2-\346\265\213\350\257\225\344\270\273\346\234\272\345\206\205\345\255\230\345\212\240\345\257\206.md" +++ "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/2-\346\265\213\350\257\225\344\270\273\346\234\272\345\206\205\345\255\230\345\212\240\345\257\206.md" @@ -1,4 +1,4 @@ -测试之前,请先安装内核。 +测试之前,请参考[2-1-安装CSV软件](https://openanolis.cn/sig/Hygon-Arch/doc/865622260278236994?lang=zh)准备软件环境。 ## 功能描述 主机内存加密技术用来加密主机内存,主机写内存数据时,如果页表项的加密位C bit为1,CPU会自动对数据加密后再写入内存;如果页表项的C bit为0,CPU不会进行加密。主机操作系统通过将重要数据的页表项C bit设置为1,可以实现数据加密后保存在内存中,保护数据的安全性。 diff --git "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/1-\346\265\213\350\257\225\345\206\205\345\255\230\345\212\240\345\257\206.md" "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/1-\346\265\213\350\257\225\345\206\205\345\255\230\345\212\240\345\257\206.md" index 7b985c4f6ac34aa58b13d287140091e8537a19a6..85a63391d70ee25a8d8f8705f07d63f1425bb14b 100644 --- "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/1-\346\265\213\350\257\225\345\206\205\345\255\230\345\212\240\345\257\206.md" +++ "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/1-\346\265\213\350\257\225\345\206\205\345\255\230\345\212\240\345\257\206.md" @@ -1,4 +1,4 @@ -测试之前,请先安装CSV软件。 +测试之前,请参考[2-1-安装CSV软件](https://openanolis.cn/sig/Hygon-Arch/doc/865622260278236994?lang=zh)准备软件环境。 ## 功能描述 CSV技术通过加密虚拟机的内存来保护虚拟机数据的安全性,每个CSV虚拟机使用不同的密钥,主机和其他虚拟机都不能访问当前CSV虚拟机的内存数据,本文描述了测试CSV虚拟机功能的方法。 @@ -9,16 +9,12 @@ CSV技术通过加密虚拟机的内存来保护虚拟机数据的安全性, 运行普通虚拟机。 ``` -$ sudo qemu-system-x86_64 -name normal-vm --enable-kvm -cpu host -m 2048 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:1111,server,nowait -vnc localhost:0 +$ sudo qemu-system-x86_64 -name normal-vm --enable-kvm -cpu host -m 2048 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:1111,server,nowait -vnc 0.0.0.0:0 -nographic ``` -虚拟机启动后,打开新终端使用vncviewer登陆虚拟机,用户名为root,密码为root。 +虚拟机启动后,登陆虚拟机,用户名为root,密码为root。 -``` -$ vncviewer localhost:0 -``` - -保存虚拟机的内存数据到文件。 +打开新终端,保存虚拟机的内存数据到文件。 ``` $ telnet 127.0.0.1 1111 @@ -32,6 +28,7 @@ $ { "execute": "pmemsave", "arguments": {"val": 0, "size": 256, "filename": "nor $ quit $ hexdump -v normal.txt ``` +**normal.txt 文件在运行虚拟机命令的目录下** 普通虚拟机的内存数据如下图,数据是明文。 @@ -45,16 +42,12 @@ $ hexdump -v normal.txt 运行CSV虚拟机。 ``` -$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 2048 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc localhost:1 -object sev-guest,id=sev0,policy=0x1,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 +$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 2048 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc 0.0.0.0:1 -object sev-guest,id=sev0,policy=0x1,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -nographic ``` -虚拟机启动后,打开新终端使用vncviewer登陆虚拟机,用户名为root,密码为root。 +虚拟机启动后,登陆虚拟机,用户名为root,密码为root。 -``` -$ vncviewer localhost:1 -``` - -保存虚拟机的内存数据到文件。 +保打开新终端,保存虚拟机的内存数据到文件。 ``` $ telnet 127.0.0.1 2222 @@ -68,6 +61,7 @@ $ { "execute": "pmemsave", "arguments": {"val": 0, "size": 256, "filename": "csv $ quit $ hexdump -v csv.txt ``` +**csv.txt 文件在运行虚拟机命令的目录下** CSV虚拟机的内存数据如下图,数据是密文。 @@ -83,21 +77,15 @@ CSV虚拟机的内存数据如下图,数据是密文。 运行CSV虚拟机。 ``` -$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 2048 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc localhost:1 -object sev-guest,id=sev0,policy=0x1,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 +$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 2048 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc 0.0.0.0:1 -object sev-guest,id=sev0,policy=0x1,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -netdev bridge,br=virbr0,id=net0 -device virtio-net-pci,netdev=net0,romfile= -nographic ``` -虚拟机启动后,打开新终端使用vncviewer登陆虚拟机,用户名为root,密码为root。 - -``` -$ vncviewer localhost:1 -``` +虚拟机启动后,登陆虚拟机,用户名为root,密码为root。 -在虚拟机中使用scp命令从主机拷贝远程认证测试程序,假设主机的用户名是user,在虚拟机中运行测试程序get-attestation生成认证报告。 +在虚拟机中使用scp命令从主机拷贝远程认证测试程序,假设主机的用户名是user,host_ip 为主机ip,在虚拟机中运行测试程序get-attestation生成认证报告。 ``` # dhclient -# host_ip=`ip route show | awk 'NR == 2' | awk -F " " '{print $3}'` -# echo ${host_ip} # scp user@${host_ip}:/opt/hygon/csv/attestation/get-attestation ./ # ./get-attestation ``` diff --git "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/2-\346\265\213\350\257\225\345\257\206\351\222\245\345\260\201\345\215\260.md" "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/2-\346\265\213\350\257\225\345\257\206\351\222\245\345\260\201\345\215\260.md" index 28897da61f50535bb835bc5a66997348f65e81fc..9b2dcf9cd9945d4216b501da1fa7bc8edf5f9fff 100644 --- "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/2-\346\265\213\350\257\225\345\257\206\351\222\245\345\260\201\345\215\260.md" +++ "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/2-\346\265\213\350\257\225\345\257\206\351\222\245\345\260\201\345\215\260.md" @@ -1,4 +1,4 @@ -测试之前,请先安装CSV软件。 +测试之前,请参考[2-1-安装CSV软件](https://openanolis.cn/sig/Hygon-Arch/doc/865622260278236994?lang=zh)准备软件环境。 **注:麒麟系统不支持** @@ -16,12 +16,12 @@ $ sudo ./sealing_key.sh ### 启动CSV虚拟机 **该功能支持需要使用hygon-edk2 编译出的OVMF.fd 文件而不是OVMF_CODE.fd 文件** ``` -$ sudo qemu-system-x86_64 --enable-kvm -cpu host -smp 4 -m 4G -kernel /opt/hygon/csv/vmlinuz -initrd /opt/hygon/csv/initramfs.img -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF.fd,readonly=on -object sev-guest,id=sev0,policy=1,cbitpos=47,reduced-phys-bits=5,kernel-hashes=on,session-file=launch_blob.bin,dh-cert-file=guest_owner_dh.cert -machine memory-encryption=sev0 -vnc localhost:1 -netdev bridge,br=virbr0,id=net0 -device virtio-net-pci,netdev=net0 +$ sudo qemu-system-x86_64 --enable-kvm -cpu host -smp 4 -m 4G -kernel /opt/hygon/csv/vmlinuz -initrd /opt/hygon/csv/initramfs.img -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF.fd,readonly=on -object sev-guest,id=sev0,policy=1,cbitpos=47,reduced-phys-bits=5,kernel-hashes=on,session-file=launch_blob.bin,dh-cert-file=guest_owner_dh.cert -machine memory-encryption=sev0 -vnc 0.0.0.0:1 -netdev bridge,br=virbr0,id=net0 -device virtio-net-pci,netdev=net0 ``` ### 连接CSV虚拟机 ``` -$ vncviewer localhost:1 +$ vncviewer 0.0.0.0:1 ``` **dhclient 可以获取虚拟机ip** ### 在CSV虚拟机中获取封印密钥 diff --git "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/3-\346\265\213\350\257\225\345\205\250\347\233\230\345\212\240\345\257\206.md" "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/3-\346\265\213\350\257\225\345\205\250\347\233\230\345\212\240\345\257\206.md" index 550f54f4a2a99b13f98be4c64313fbd546e370f3..ceac62f91e6a75bea41eee8ecdfd16fc73941d4a 100644 --- "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/3-\346\265\213\350\257\225\345\205\250\347\233\230\345\212\240\345\257\206.md" +++ "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/3-\346\265\213\350\257\225\345\205\250\347\233\230\345\212\240\345\257\206.md" @@ -1,4 +1,4 @@ -测试之前,请先安装CSV软件。 +测试之前,请参考[2-1-安装CSV软件](https://openanolis.cn/sig/Hygon-Arch/doc/865622260278236994?lang=zh)准备软件环境。 **注:麒麟系统不支持** @@ -15,7 +15,7 @@ $ cd /opt/hygon/csv/ $ wget http://mirrors.163.com/ubuntu-releases/18.04/ubuntu-18.04.6-desktop-amd64.iso $ qemu-img create -f qcow2 ubuntu.qcow2 10g -$ sudo qemu-system-x86_64 -enable-kvm -cpu host -smp 4 -m 4096 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -hda ./ubuntu.qcow2 -boot d -cdrom ./ubuntu-18.04.6-desktop-amd64.iso -vnc localhost:1 +$ sudo qemu-system-x86_64 -enable-kvm -cpu host -smp 4 -m 4096 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -hda ./ubuntu.qcow2 -boot d -cdrom ./ubuntu-18.04.6-desktop-amd64.iso -vnc 0.0.0.0:1 ``` 安装完成后重启虚拟机,安装过程中加密了虚拟机的数据分区/dev/sda3,接下来加密启动分区/dev/sda2并替换虚拟机中的grub。 由于虚拟机的分区/dev/sda3已经被加密,启动过程中需要输入密码abc进行解密,启动后在虚拟机中使用scp命令将主机中的文件拷贝到虚拟机,这里假设主机的用户名为test,IP地址为192.168.122.1。 @@ -33,4 +33,4 @@ disk_encryption.sh默认使用abc,如果密码正确,虚拟机会正常启动 $ cd /opt/hygon/csv $ sudo ./disk_encryption.sh ``` -vncviewer localhost:1 登录虚拟机看虚拟机能否正常启动 +vncviewer 0.0.0.0:1 登录虚拟机看虚拟机能否正常启动 diff --git "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/4-\346\265\213\350\257\225CSV\350\231\232\346\213\237\346\234\272\347\233\264\351\200\232DCU.md" "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/4-\346\265\213\350\257\225CSV\350\231\232\346\213\237\346\234\272\347\233\264\351\200\232DCU.md" index 4fa541550867152272d17145a57a8bb7ff9b76b8..88cbffb19fe0b2c60bade14cc48bd94ab4e03a9b 100644 --- "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/4-\346\265\213\350\257\225CSV\350\231\232\346\213\237\346\234\272\347\233\264\351\200\232DCU.md" +++ "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/4-\346\265\213\350\257\225CSV\350\231\232\346\213\237\346\234\272\347\233\264\351\200\232DCU.md" @@ -1,4 +1,4 @@ -测试之前,请先安装CSV软件。 +测试之前,请参考[2-1-安装CSV软件](https://openanolis.cn/sig/Hygon-Arch/doc/865622260278236994?lang=zh)准备软件环境。 ## 功能描述 某些应用场景需要在CSV虚拟机中运行图像识别、机器学习等算法,这些场景下使用DCU加速卡可以极大地提高计算性能,CSV虚拟机支持设备直通,可以将DCU卡直通给CSV虚拟机使用。 @@ -7,9 +7,7 @@ ### 运行CSV虚拟机 ``` -$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 6114 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc localhost:1 -object sev-guest,id=sev0,policy=0x1,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -麒麟系统qemu网络不支持user模式,需要使用如下命令: -$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 6114 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc localhost:1 -object sev-guest,id=sev0,policy=0x1,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -netdev bridge,br=virbr0,id=net0 -device virtio-net-pci,netdev=net0 +$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 6114 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc 0.0.0.0:1 -object sev-guest,id=sev0,policy=0x1,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -netdev bridge,br=virbr0,id=net0 -device virtio-net-pci,netdev=net0,romfile= -nographic ``` ### 在虚拟机中安装DCU软件栈 @@ -43,9 +41,7 @@ $ sudo -s ### 运行直通DCU卡的CSV虚拟机 ``` -$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 2048 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc localhost:1 -object sev-guest,id=sev0,policy=0x1,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -device vfio-pci,host=03:00.0 -fw_cfg name=opt/ovmf/X-PciMmio64Mb,string=65536 -麒麟系统qemu网络不支持user模式,需要使用如下命令: -$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 2048 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc localhost:1 -object sev-guest,id=sev0,policy=0x1,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -device vfio-pci,host=03:00.0 -fw_cfg name=opt/ovmf/X-PciMmio64Mb,string=65536 -netdev bridge,br=virbr0,id=net0 -device virtio-net-pci,netdev=net0 +$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 10240 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc 0.0.0.0:1 -object sev-guest,id=sev0,policy=0x1,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -device vfio-pci,host=03:00.0 -fw_cfg name=opt/ovmf/X-PciMmio64Mb,string=65536 -netdev bridge,br=virbr0,id=net0 -device virtio-net-pci,netdev=net0,romfile= -nographic ``` ### 在CSV虚拟机中运行DCU测试程序 diff --git "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/5-\346\265\213\350\257\225CSV\350\231\232\346\213\237\346\234\272\350\277\201\347\247\273.md" "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/5-\346\265\213\350\257\225CSV\350\231\232\346\213\237\346\234\272\350\277\201\347\247\273.md" index 9ddf0e21c1b75b92c72696e4e653422fdafdd94f..c70393e8bec4b455ba9aad5e295fe10a5b71d278 100644 --- "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/5-\346\265\213\350\257\225CSV\350\231\232\346\213\237\346\234\272\350\277\201\347\247\273.md" +++ "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/5-\346\265\213\350\257\225CSV\350\231\232\346\213\237\346\234\272\350\277\201\347\247\273.md" @@ -1,4 +1,4 @@ -测试之前,请先安装CSV软件。 +测试之前,请参考[2-1-安装CSV软件](https://openanolis.cn/sig/Hygon-Arch/doc/865622260278236994?lang=zh)准备软件环境。 ## 功能描述 CSV 虚拟机支持在线迁移,本文档描述CSV虚拟机迁移测试步骤 @@ -17,7 +17,8 @@ sudo qemu-system-x86_64 \ -vnc 0.0.0.0:0 \ -device virtio-blk-pci,scsi=off,drive=drive0,disable-legacy=on,iommu_platform=on \ -drive file=/opt/hygon/csv/vm.qcow2,if=none,id=drive0 \ - -qmp tcp:localhost:4444,server,nowait + -qmp tcp:localhost:4444,server,nowait \ + -nographic ``` ### 迁移目标端启动虚拟机 @@ -35,7 +36,8 @@ sudo qemu-system-x86_64 \ -device virtio-blk-pci,scsi=off,drive=drive0,disable-legacy=on,iommu_platform=on \ -drive file=/opt/hygon/csv/vm.qcow2,if=none,id=drive0 \ -qmp tcp:localhost:4445,server,nowait \ - -incoming tcp:127.0.0.1:6666 + -incoming tcp:127.0.0.1:6666 \ + -nographic ``` 注:这里测试是本机迁移,设置ip为**127.0.0.1**,跨机迁移ip需要设置对应机器的ip地址 diff --git "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/6-\346\265\213\350\257\225CSV2\350\231\232\346\213\237\346\234\272\347\233\264\351\200\232DCU.md" "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/6-\346\265\213\350\257\225CSV2\350\231\232\346\213\237\346\234\272\347\233\264\351\200\232DCU.md" index c2d79af62dd74314f609df42b5fecc1dfa38e647..0d8a99653d828dee5e1b00e39a768e978f4266c9 100644 --- "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/6-\346\265\213\350\257\225CSV2\350\231\232\346\213\237\346\234\272\347\233\264\351\200\232DCU.md" +++ "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/6-\346\265\213\350\257\225CSV2\350\231\232\346\213\237\346\234\272\347\233\264\351\200\232DCU.md" @@ -1,4 +1,4 @@ -测试之前,请先安装CSV软件。 +测试之前,请参考[2-1-安装CSV软件](https://openanolis.cn/sig/Hygon-Arch/doc/865622260278236994?lang=zh)准备软件环境。 ## 功能描述 某些应用场景需要在CSV2虚拟机中运行图像识别、机器学习等算法,这些场景下使用DCU加速卡可以极大地提高计算性能,CSV2虚拟机支持设备直通,可以将DCU卡直通给CSV2虚拟机使用。 @@ -7,9 +7,7 @@ ### 运行CSV2虚拟机 ``` -$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 6114 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc localhost:1 -object sev-guest,id=sev0,policy=0x5,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -麒麟系统qemu网络不支持user模式,需要使用如下命令: -$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 6114 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc localhost:1 -object sev-guest,id=sev0,policy=0x5,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -netdev bridge,br=virbr0,id=net0 -device virtio-net-pci,netdev=net0,romfile= +$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 6114 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc 0.0.0.0:1 -object sev-guest,id=sev0,policy=0x5,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -netdev bridge,br=virbr0,id=net0 -device virtio-net-pci,netdev=net0,romfile= -nopraghic ``` ### 在虚拟机中安装DCU软件栈 @@ -43,9 +41,7 @@ $ sudo -s ### 运行直通DCU卡的CSV2虚拟机 ``` -$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 2048 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc localhost:1 -object sev-guest,id=sev0,policy=0x5,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -device vfio-pci,host=03:00.0 -fw_cfg name=opt/ovmf/X-PciMmio64Mb,string=65536 -麒麟系统qemu网络不支持user模式,需要使用如下命令: -$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 2048 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc localhost:1 -object sev-guest,id=sev0,policy=0x5,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -device vfio-pci,host=03:00.0 -fw_cfg name=opt/ovmf/X-PciMmio64Mb,string=65536 -netdev bridge,br=virbr0,id=net0 -device virtio-net-pci,netdev=net0,romfile= +$ sudo qemu-system-x86_64 -name csv-vm --enable-kvm -cpu host -m 10240 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc 0.0.0.0:1 -object sev-guest,id=sev0,policy=0x5,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -device vfio-pci,host=03:00.0 -fw_cfg name=opt/ovmf/X-PciMmio64Mb,string=65536 -netdev bridge,br=virbr0,id=net0 -device virtio-net-pci,netdev=net0,romfile= -nopraghic ``` ### 在CSV2虚拟机中运行DCU测试程序 diff --git "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/7-\345\220\257\345\212\250CSV3\345\212\240\345\257\206\350\231\232\346\213\237\346\234\272.md" "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/7-\345\220\257\345\212\250CSV3\345\212\240\345\257\206\350\231\232\346\213\237\346\234\272.md" index 77df2023443549d5d58f255964c557ad73c43978..51bab9e1c87045a0486062ca6d2edfdf86d1f752 100644 --- "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/7-\345\220\257\345\212\250CSV3\345\212\240\345\257\206\350\231\232\346\213\237\346\234\272.md" +++ "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/7-\345\220\257\345\212\250CSV3\345\212\240\345\257\206\350\231\232\346\213\237\346\234\272.md" @@ -1,4 +1,4 @@ -测试之前,请先[安装CSV软件](../1-安装CSV软件.md)。 +测试之前,请参考[2-1-安装CSV软件](https://openanolis.cn/sig/Hygon-Arch/doc/865622260278236994?lang=zh)准备软件环境。 ## 启动CSV3加密虚拟机 @@ -9,7 +9,7 @@ ``` $ sudo /opt/hygon/setup_csv3_memory.sh ``` -> setup_csv3_memory.sh脚本会在kernel启动参数cmdline中配置“csv_mem_percentage=50“,表示系统内存的50%可用于CSV3安全内存,CSV3虚拟机内存总量不能超过主机预留的CMA内存量。 +> setup_csv3_memory.sh脚本会在kernel启动参数cmdline中配置“csv_mem_percentage=50“,表示系统内存的50%可用于CSV3安全内存,CSV3虚拟机内存总量不能超过主机预留的CMA内存量。 > 当需要启动的所有CSV3虚拟机内存总量较大时,可以调整kernel启动参数cmdline中csv_mem_percentage值大小,csv_mem_percentage最大为80,表示最多配置主机80%的内存作为CMA内存。 重新重启主机系统。 @@ -17,13 +17,10 @@ $ sudo /opt/hygon/setup_csv3_memory.sh #### 运行CSV3加密虚拟机。 ``` -$ sudo qemu-system-x86_64 -name csv3-vm --enable-kvm -cpu host -m 6114 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc localhost:0 -object sev-guest,id=sev0,policy=0x45,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 +$ sudo qemu-system-x86_64 -name csv3-vm --enable-kvm -cpu host -m 6114 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc 0.0.0.0:0 -object sev-guest,id=sev0,policy=0x45,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -nographic ``` -虚拟机启动后,打开新终端使用vncviewer登陆虚拟机,用户名为root,密码为root。 +虚拟机启动后,登陆虚拟机,用户名为root,密码为root。 -``` -$ vncviewer localhost:0 -``` 在虚拟机终端运行 ``` # dmesg | grep "HYGON CSV" @@ -35,5 +32,5 @@ $ vncviewer localhost:0 HYGON CSV2 HYGON CSV3 ``` -表示虚拟机为CSV3加密虚拟机。 -关闭虚拟机。 \ No newline at end of file +表示虚拟机为CSV3加密虚拟机。 +关闭虚拟机。 diff --git "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/8-\346\265\213\350\257\225CSV2\345\257\204\345\255\230\345\231\250\345\212\240\345\257\206.md" "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/8-\346\265\213\350\257\225CSV2\345\257\204\345\255\230\345\231\250\345\212\240\345\257\206.md" index 8344ed17eb3ba2df6bc74d608d045067a076d8e8..6bc11c5b855c3894e93d0964eee965b120a521e7 100644 --- "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/8-\346\265\213\350\257\225CSV2\345\257\204\345\255\230\345\231\250\345\212\240\345\257\206.md" +++ "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/3-\350\231\232\346\213\237\346\234\272/8-\346\265\213\350\257\225CSV2\345\257\204\345\255\230\345\231\250\345\212\240\345\257\206.md" @@ -1,4 +1,4 @@ -测试之前,请先安装CSV软件。 +测试之前,请参考[2-1-安装CSV软件](https://openanolis.cn/sig/Hygon-Arch/doc/865622260278236994?lang=zh)准备软件环境。 ## 功能描述 3号CPU开始支持CSV2安全虚拟化功能,在CSV技术加密虚拟机内存的基础上,CSV2技术增加了虚拟机寄存器加密的功能,主机不能访问或者篡改CSV2虚拟机的寄存器。 @@ -18,22 +18,14 @@ $ sudo /opt/hygon/csv/build_csv2_kernel.sh  运行普通虚拟机。 ``` -$ sudo qemu-system-x86_64 -name normal-vm --enable-kvm -cpu host -m 2048 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:1111,server,nowait -vnc localhost:0 -麒麟系统qemu 网络不支持user 模式,需要使用如下命令: -$ sudo qemu-system-x86_64 -name normal-vm --enable-kvm -cpu host -m 2048 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:1111,server,nowait -vnc localhost:0 -netdev bridge,br=virbr0,id=net0 -device virtio-net-pci,netdev=net0 -``` -虚拟机启动后,打开新终端使用vncviewer登陆虚拟机,用户名为root,密码为root。 -``` -$ vncviewer localhost:0 +$ sudo qemu-system-x86_64 -name normal-vm --enable-kvm -cpu host -m 2048 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:1111,server,nowait -vnc 0.0.0.0:0 -netdev bridge,br=virbr0,id=net0 -device virtio-net-pci,netdev=net0,romfile= -nopraghic ``` +虚拟机启动后,登陆虚拟机,用户名为root,密码为root。 ### 升级虚拟机内核 假设主机的用户名为user ``` # dhclient -# host_ip=`ip route show | awk 'NR == 2' | awk -F " " '{print $3}'` -# echo ${host_ip} -麒麟系统需要到主机查看主机host_ip # scp user@${host_ip}:/opt/hygon/csv/kernel.tgz ./ # scp user@${host_ip}:/opt/hygon/csv/vm_kernel_install.sh ./ # ./vm_kernel_install.sh  @@ -45,9 +37,6 @@ $ vncviewer localhost:0 ``` # dhclient -# host_ip=`ip route show | awk 'NR == 2' | awk -F " " '{print $3}'` -# echo ${host_ip} -麒麟系统需要到主机查看主机host_ip # scp user@${host_ip}:/opt/hygon/csv/csv2-reg-test/csv2_reg_test ./ # chmod 777 csv2_reg_rest # ./csv2_reg_rest @@ -77,12 +66,10 @@ $ sudo -s ### 运行CSV2虚拟机 ``` -$ sudo qemu-system-x86_64 -name csv2-vm --enable-kvm -cpu host -m 2048 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc localhost:1 -object sev-guest,id=sev0,policy=0x5,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -``` -虚拟机启动后,打开新终端使用vncviewer登陆虚拟机。 -``` -$ vncviewer localhost:1 +$ sudo qemu-system-x86_64 -name csv2-vm --enable-kvm -cpu host -m 2048 -hda /opt/hygon/csv/vm.qcow2 -drive if=pflash,format=raw,unit=0,file=/opt/hygon/csv/OVMF_CODE.fd,readonly=on -qmp tcp:127.0.0.1:2222,server,nowait -vnc 0.0.0.0:1 -object sev-guest,id=sev0,policy=0x5,cbitpos=47,reduced-phys-bits=5 -machine memory-encryption=sev0 -nopraghic ``` +虚拟机启动后,登陆虚拟机。 + ### 运行CSV2虚拟机寄存器测试程序 diff --git "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/4-KATA-3/1-\347\216\257\345\242\203\346\220\255\345\273\272.md" "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/4-KATA-3/1-\347\216\257\345\242\203\346\220\255\345\273\272.md" index 493f2ac06c993017ec5b608db23e1d9d4aab51ab..2eb68d1608b5726495c1eb69e79daf70ffff7fdd 100644 --- "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/4-KATA-3/1-\347\216\257\345\242\203\346\220\255\345\273\272.md" +++ "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/4-KATA-3/1-\347\216\257\345\242\203\346\220\255\345\273\272.md" @@ -6,7 +6,7 @@ ### 安装系统并更新内核 -请参考[1-安装操作系统和内核](https://openanolis.cn/sig/Hygon-Arch/doc/824231181808631655)安装ubuntu20.04,并升级内核到5.10。 +请参考[2-1-安装CSV软件](https://openanolis.cn/sig/Hygon-Arch/doc/865622260278236994?lang=zh)准备软件环境。 ## 安装机密容器组件 @@ -53,32 +53,7 @@ export KUBECONFIG=/etc/kubernetes/admin.conf ### 一、一键安装脚本的介绍 -#### 1.1 安装依赖 - -安装机密容器部署及测试过程中,所依赖的软件 - -``` -apt-get update -apt-get install -y apt-transport-https ca-certificates curl \ - gnupg lsb-release zip - -# used by simple-kbs -apt install -y mysql-client jq - -# used by encrypting container images. -# For ubuntu 20.04 use static-build skopeo -# For ubuntu 20.10 and above, use apt isntall skopeo. -cd /opt/hygon/csv/confidential-containers/pkg -install -D skopeo /usr/bin/skopeo -skopeo -v - -# used by signing container images. -cd /opt/hygon/csv/confidential-containers/pkg -# download from https://github.com/sigstore/cosign/releases -dpkg -i cosign_2.0.2_amd64.deb -``` - -#### 1.2 加载必要的模块 +#### 1.1 加载必要的模块 将以下模块设置为系统预加载 @@ -91,10 +66,14 @@ vhost-vsock vhost-net EOF -modprobe br_netfilter vfio-pci vhost-vsock vhost-net +modprobe br_netfilter +modprobe vfio-pci +modprobe vhost-vsock +modprobe vhost-net + ``` -#### 1.3 权限设置 +#### 1.2 权限设置 关闭swap;开启ip转发功能 @@ -110,34 +89,35 @@ EOF sysctl --system ``` -#### 1.4 安装docker - -``` -mkdir -m 0755 -p /etc/apt/keyrings -curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg -echo \ -"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ -$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null -apt-get update -apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin +#### 1.3 启动docker服务 +**麒麟系统kata 的containerd 和系统docker 不兼容,启动docker 时需要先停掉containerd,启动后再恢复containerd** ``` - -#### 1.5 启动docker服务 +info "starting docker service ..." + case $os_release in + "ubuntu" | "anolis" ) + systemctl enable --now docker + systemctl daemon-reload + service docker restart + ;; + "kylin") + service containerd stop + systemctl enable --now docker + systemctl daemon-reload + service docker restart + service containerd restart + ;; + esac -``` -systemctl enable --now docker -systemctl daemon-reload -service docker restart ``` -#### 1.6 安装confidential-containers +#### 1.4 安装confidential-containers ``` cd /opt/hygon/csv/confidential-containers/pkg tar xvf confidential-containers.tar.gz -C / ``` -#### 1.7 配置containerd +#### 1.5 配置containerd 1. 使用aliyun镜像加速 2. 使用支持机密容器的contaienrd,代替系统默认的 @@ -154,7 +134,7 @@ ExecStart=/opt/confidential-containers/bin/containerd EOF ``` -#### 1.8 为containerd使能kata-runtime +#### 1.6 为containerd使能kata-runtime ``` cat >>/etc/containerd/config.toml<>/etc/containerd/config.toml<DCU直通功能** 章节。 -#### 2. OS设置IOMMU为pt模式 - -``` -sudo su root -sed -i 's!\(^GRUB_CMDLINE_LINUX=.*\)"$!\1 iommu=pt"!' /etc/default/grub -update-grub -reboot -``` - -#### 3. 检查IOMMU设置成功 +#### 2. 检查IOMMU设置成功 ``` dmesg | grep -i IOMMU @@ -61,10 +52,14 @@ dmesg | grep -i IOMMU - 禁用sev_kbc模式 + 由于国内网络目前访问不了dockerhub 需要使用代理,代理参数agent.https_proxy=http://ip:port agent.no_proxy=10.*.*.*,172.*.*.* http://ip:port 为代理地址 ``` - sudo sed -i -e 's#^\(kernel_params\).*=.*$#\1 = \"agent.enable_signature_verification=false \"#g' /opt/confidential-containers/share/defaults/kata-containers/configuration-qemu-csv-dcu.toml + sudo sed -i -e 's#^\(kernel_params\).*=.*$#\1 = \"agent.https_proxy=http://ip:port agent.no_proxy=10.*.*.*,172.*.*.* agent.enable_signature_verification=false \"#g' /opt/confidential-containers/share/defaults/kata-containers/configuration-qemu-csv-dcu.toml + ``` +- 设置内存 + ``` + sudo sed -i "s/^default_memory *=.*\$/default_memory = 10240/g" /opt/confidential-containers/share/defaults/kata-containers/configuration-qemu-csv-dcu.toml ``` - ### 部署DCU直通环境 #### 1. 查找DCU设备 @@ -72,13 +67,13 @@ dmesg | grep -i IOMMU - 找到DCU设备 ``` - lspci -nn | grep "Display controller: Chengdu Haiguang" + lspci -nn | grep "Display" |grep "Haiguang" ``` - 结果如下: ``` - $ lspci -nn | grep "Display controller: Chengdu Haiguang" + $ lspci -nn | grep "Display" |grep "Haiguang" 03:00.0 Display controller: Chengdu Haiguang IC Design Co., Ltd. Device [1d94:53b7] (rev 01) ``` @@ -158,53 +153,59 @@ rocminfo ``` hygon module is loaded -===================== -HSA System Attributes -===================== +===================== +HSA System Attributes +===================== Runtime Version: 1.1 System Timestamp Freq.: 1000.000000MHz Sig. Max Wait Duration: 18446744073709551615 (0xFFFFFFFFFFFFFFFF) (timestamp count) -Machine Model: LARGE -System Endianness: LITTLE - -========== -HSA Agents -========== -******* -Agent 1 -******* - Name: Hygon C86 3250 8-core Processor - Uuid: CPU-XX - Marketing Name: Hygon C86 3250 8-core Processor - Vendor Name: HygonGenuine - Feature: None specified - Profile: FULL_PROFILE - Float Round Mode: NEAR +Machine Model: LARGE +System Endianness: LITTLE + +========== +HSA Agents +========== +******* +Agent 1 +******* + Name: Hygon C86 3250 8-core Processor + Uuid: CPU-XX + Marketing Name: Hygon C86 3250 8-core Processor + Vendor Name: HygonGenuine + Feature: None specified + Profile: FULL_PROFILE + Float Round Mode: NEAR . . . -******* -Agent 2 -******* - Name: ZIFANG - Uuid: GPU-XX - Marketing Name: C878186 - Vendor Name: HYGON - Feature: KERNEL_DISPATCH - Profile: BASE_PROFILE - Float Round Mode: NEAR - Max Queue Number: 128(0x80) - Queue Min Size: 4096(0x1000) - Queue Max Size: 131072(0x20000) - Queue Type: MULTI - Node: 1 - Device Type: DCU +******* +Agent 2 +******* + Name: ZIFANG + Uuid: GPU-XX + Marketing Name: C878186 + Vendor Name: HYGON + Feature: KERNEL_DISPATCH + Profile: BASE_PROFILE + Float Round Mode: NEAR + Max Queue Number: 128(0x80) + Queue Min Size: 4096(0x1000) + Queue Max Size: 131072(0x20000) + Queue Type: MULTI + Node: 1 + Device Type: DCU . . . -*** Done *** +*** Done *** ``` +- 测试完恢复内存设置 + + ``` + sudo sed -i "s/^default_memory *=.*\$/default_memory = 2048/g" /opt/confidential-containers/share/defaults/kata-containers/configuration-qemu-csv-dcu.toml + ``` + ## 附录 ### 制作DCU容器镜像的Dockerfile diff --git "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/4-KATA-3/6-\344\275\277\347\224\250\345\212\240\345\257\206\351\225\234\345\203\217\346\235\245\351\203\250\347\275\262workload.md" "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/4-KATA-3/6-\344\275\277\347\224\250\345\212\240\345\257\206\351\225\234\345\203\217\346\235\245\351\203\250\347\275\262workload.md" index 7ce8dc27866745d4e63520c827a7be25998e5f54..eb79af916b1cfcb9f729eef99b8f3231e2038849 100755 --- "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/4-KATA-3/6-\344\275\277\347\224\250\345\212\240\345\257\206\351\225\234\345\203\217\346\235\245\351\203\250\347\275\262workload.md" +++ "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/4-KATA-3/6-\344\275\277\347\224\250\345\212\240\345\257\206\351\225\234\345\203\217\346\235\245\351\203\250\347\275\262workload.md" @@ -38,8 +38,10 @@ attestation agent 支持三种CSV平台相关的KBC:[offline_fs_kbc](https://g - 设置AA module 配置文件路径 + 由于国内网络目前访问不了dockerhub 需要使用代理,代理参数agent.https_proxy=http://ip:port agent.no_proxy=10.*.*.*,172.*.*.* http://ip:port 为代理地址 + ``` - sudo sed -i -e 's#^\(kernel_params\).*=.*$#\1 = \"agent.config_file=/etc/agent-config.toml agent.enable_signature_verification=false \"#g' /opt/confidential-containers/share/defaults/kata-containers/configuration-qemu-csv.toml + sudo sed -i -e 's#^\(kernel_params\).*=.*$#\1 = \"agent.https_proxy=http://ip:port agent.no_proxy=10.*.*.*,172.*.*.* agent.config_file=/etc/agent-config.toml agent.enable_signature_verification=false \"#g' /opt/confidential-containers/share/defaults/kata-containers/configuration-qemu-csv.toml ``` - 启动POD @@ -81,27 +83,27 @@ test-en-online 1/1 Running 0 146m - 编辑 kata 配置文件: - 打开pre-attestation - + ``` sudo sed -i -e 's/^\(guest_pre_attestation =\).*$/\1 true/g' /opt/confidential-containers/share/defaults/kata-containers/configuration-qemu-csv.toml ``` - + - initrd指向支持offline_sev_kbc的initrd - + ``` sudo sed -i -e 's#^\(initrd\).*=.*$#\1 = \"/opt/confidential-containers/share/kata-containers/kata-containers-initrd-csv-hygon-gpu.img.offline_sev_kbc\"#g' /opt/confidential-containers/share/defaults/kata-containers/configuration-qemu-csv.toml ``` - + - 设置kbs_mod为offline模式 - + ``` sudo sed -i -e 's/^\(guest_pre_attestation_kbs_mode\).*=.*$/\1=\"offline\"/g' /opt/confidential-containers/share/defaults/kata-containers/configuration-qemu-csv.toml ``` - + - 设置AA module 配置文件路径 - + ``` - sudo sed -i -e 's#^\(kernel_params\).*=.*$#\1 = \"agent.config_file=/etc/agent-config.toml agent.enable_signature_verification=false \"#g' /opt/confidential-containers/share/defaults/kata-containers/configuration-qemu-csv.toml + sudo sed -i -e 's#^\(kernel_params\).*=.*$#\1 = \"agent.https_proxy=http://ip:port agent.no_proxy=10.*.*.*,172.*.*.* agent.config_file=/etc/agent-config.toml agent.enable_signature_verification=false \"#g' /opt/confidential-containers/share/defaults/kata-containers/configuration-qemu-csv.toml ``` diff --git "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/4-KATA-3/7-\344\275\277\347\224\250\347\255\276\345\220\215\351\225\234\345\203\217\346\235\245\351\203\250\347\275\262workload.md" "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/4-KATA-3/7-\344\275\277\347\224\250\347\255\276\345\220\215\351\225\234\345\203\217\346\235\245\351\203\250\347\275\262workload.md" index ec9962fa6ed6facb67cd050e169cb2016213b51e..1f57de5384171278caa492a0bdd85437c587772c 100755 --- "a/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/4-KATA-3/7-\344\275\277\347\224\250\347\255\276\345\220\215\351\225\234\345\203\217\346\235\245\351\203\250\347\275\262workload.md" +++ "b/sig/Hygon Arch/content/2-CSV\346\265\213\350\257\225\346\226\207\346\241\243/4-KATA-3/7-\344\275\277\347\224\250\347\255\276\345\220\215\351\225\234\345\203\217\346\235\245\351\203\250\347\275\262workload.md" @@ -39,7 +39,7 @@ attestation agent 支持三种CSV平台相关的KBC:[offline_fs_kbc](https://g - 使能验签功能 ``` - sudo sed -i -e 's#^\(kernel_params\).*=.*$#\1 = \"agent.config_file=/etc/agent-config.toml agent.enable_signature_verification=true \"#g' /opt/confidential-containers/share/defaults/kata-containers/configuration-qemu-csv.toml + sudo sed -i -e 's#^\(kernel_params\).*=.*$#\1 = \"agent.https_proxy=http://ip:port agent.no_proxy=10.*.*.*,172.*.*.* agent.config_file=/etc/agent-config.toml agent.enable_signature_verification=true \"#g' /opt/confidential-containers/share/defaults/kata-containers/configuration-qemu-csv.toml ``` - 启动 Pod @@ -97,7 +97,7 @@ test-sign-online 1/1 Running 0 31h - 使能验签功能,并更新kbc模式为offline_fs_kbc ``` - sudo sed -i -e 's#^\(kernel_params\).*=.*$#\1 = \"agent.aa_kbc_params=offline_fs_kbc::null agent.enable_signature_verification=true \"#g' /opt/confidential-containers/share/defaults/kata-containers/configuration-qemu-csv.toml + sudo sed -i -e 's#^\(kernel_params\).*=.*$#\1 = \"agent.https_proxy=http://ip:port agent.no_proxy=10.*.*.*,172.*.*.* agent.aa_kbc_params=offline_fs_kbc::null agent.enable_signature_verification=true \"#g' /opt/confidential-containers/share/defaults/kata-containers/configuration-qemu-csv.toml ``` - 启动 Pod @@ -134,4 +134,4 @@ NAME READY STATUS RESTARTS AGE test-sign-offline 1/1 Running 0 31h ``` -### \ No newline at end of file +###