带你读《云原生机密计算最佳实践白皮书》——Intel SGX虚拟机最佳实践(4)

简介: 带你读《云原生机密计算最佳实践白皮书》——Intel SGX虚拟机最佳实践(4)

《云原生机密计算最佳实践白皮书》——06运行时底座——Intel vSGX:Intel SGX虚拟化——Intel SGX虚拟机最佳实践(3) https://developer.aliyun.com/article/1231119?groupCode=aliyun_linux



步骤三:启动 SGX Guest

启动方式一:使用 QEMU 命令行启动

请输入以下 QEMU 命令来启动 SGX Guest。

/usr/libexec/qemu-kvm \
 -enable-kvm \
 -cpu host,+sgx-provisionkey -smp 8,sockets=1 -m 16G -no-reboot \
 -drive fifile=$HOME/vsgx/AnolisOS-8.6-x86_64-ANCK.qcow2,if=none,id=disk0,format=qcow2 \
 -device virtio-scsi-pci,id=scsi0,disable-legacy=on,iommu_platform=true -device scsi-hd,drive= 
 disk0 -nographic \
 -monitor pty -monitor unix:monitor,server,nowait \
 -object memory-backend-epc,id=mem1,size=64M,prealloc=on \
 -M sgx-epc.0.memdev=mem1,sgx-epc.0.node=0

请输入步骤二设置的用户名和密码,进入SGX Guest。

localhost login: root
Password: 123456

启动方式二:使用 virsh 启动 sgx guest

virsh 是用于管理 虚拟化环境中的客户机和 Hypervisor 的命令行工具,与 virt-manager 等工具类似,它也是通过 libvirt API 来实现虚拟化的管理。virsh 是完全在命令行文本模式下运行的用户态工具,它是系统管理

员通过脚本程序实现虚拟化自动部署和管理的理想工具之一。

安装 libvirt

说明:目前 Anolis 的 libvirt 不支持 sgx 功能,需要打上 intel 的 6 个 patch。目前基于intel 提供的代

码自行打包,由 inclavare-containers repo 进行管理。

cd $HOME/vsgx && \
 wget https://mirrors.openanolis.cn/inclavare-containers/bin/anolis8.6/libvirt-8.5.0/libvirt
 -with-vsgx-support.tar.gz && \
 tar zxvf libvirt-with-vsgx-support.tar.gz && \
 cd libvirt-with-vsgx-support && \
 yum localinstall -y *.rpm

在 libvirt 中配置 QEMU

在 QEMU 中构建英特尔 SGX 环境,需要访问以下设备:

• /dev/sgx_enclave 启动enclave
• /dev/sgx_provision 启动供应认证enclave (PCE)
• /dev/sgx_vepc 分配 EPC 内存页

libvirt 默认启用的 cgroup 控制器将拒绝访问这些设备文件。编辑 /etc/libvirt/qemu.conf 并更改 cgroup_device_acl 列表已包括所有三个:

cgroup_device_acl = [
 "/dev/null", "/dev/full", "/dev/zero",
 "/dev/random", "/dev/urandom",
 "/dev/ptmx", "/dev/kvm",
 "/dev/rtc","/dev/hpet",
 "/dev/sgx_enclave", "/dev/sgx_provision", "/dev/sgx_vepc"
]

QEMU 还需要读取和写入 /dev/sgx_vepc 设备,该设备由 root 拥有,文件模式为 600。这意味着您必须将 QEMU 配置为以 root 身份运行。 请编辑 /etc/libvirt/qemu.conf ,并设置用户参数。

user =“root”

进行这些更改后,您需要重新启动 libvirtd 服务:

systemctl restart libvirtd

配置 NAT 网络

重启 libvirtd 服务之后,请检查当前的网络设置。

# virsh net-list --all
 名称 状态 自动开始 持久
---------------------------------------
 default 活动 否 否

libvirt 默认使用了一个名为 default 的 NAT 网络,这个网络默认使用 virbr0 作为桥接接口,使用 dnsmasq 来为使用 nat 网络的虚拟机提供 dns 及 dhcp 服务。

如果您需要自定义 libvirt 虚拟网络,请参考libvirt 网络管理。



《云原生机密计算最佳实践白皮书》——06运行时底座——Intel vSGX:Intel SGX虚拟化——Intel SGX虚拟机最佳实践(5) https://developer.aliyun.com/article/1231117?groupCode=aliyun_linux

相关文章
|
5天前
|
Kubernetes Cloud Native Ubuntu
庆祝 .NET 9 正式版发布与 Dapr 从 CNCF 毕业:构建高效云原生应用的最佳实践
2024年11月13日,.NET 9 正式版发布,Dapr 从 CNCF 毕业,标志着云原生技术的成熟。本文介绍如何使用 .NET 9 Aspire、Dapr 1.14.4、Kubernetes 1.31.0/Containerd 1.7.14、Ubuntu Server 24.04 LTS 和 Podman 5.3.0-rc3 构建高效、可靠的云原生应用。涵盖环境准备、应用开发、Dapr 集成、容器化和 Kubernetes 部署等内容。
27 5
|
19天前
|
监控 Cloud Native 持续交付
云原生架构下微服务的最佳实践与挑战####
【10月更文挑战第20天】 本文深入探讨了云原生架构在现代软件开发中的应用,特别是针对微服务设计模式的最优实践与面临的主要挑战。通过分析容器化、持续集成/持续部署(CI/CD)、服务网格等关键技术,阐述了如何高效构建、部署及运维微服务系统。同时,文章也指出了在云原生转型过程中常见的难题,如服务间的复杂通信、安全性问题以及监控与可观测性的实现,为开发者和企业提供了宝贵的策略指导和解决方案建议。 ####
42 5
|
18天前
|
Kubernetes Cloud Native 持续交付
云原生架构下的微服务设计原则与最佳实践##
在数字化转型的浪潮中,云原生技术以其高效、灵活和可扩展的特性成为企业IT架构转型的首选。本文深入探讨了云原生架构的核心理念,聚焦于微服务设计的关键原则与实施策略,旨在为开发者提供一套系统性的方法论,以应对复杂多变的业务需求和技术挑战。通过分析真实案例,揭示了如何有效利用容器化、持续集成/持续部署(CI/CD)、服务网格等关键技术,构建高性能、易维护的云原生应用。文章还强调了文化与组织变革在云原生转型过程中的重要性,为企业顺利过渡到云原生时代提供了宝贵的见解。 ##
|
1月前
|
人工智能 Cloud Native 安全
从云原生到 AI 原生,网关的发展趋势和最佳实践
本文整理自阿里云智能集团资深技术专家,云原生产品线中间件负责人谢吉宝(唐三)在云栖大会的精彩分享。讲师深入浅出的分享了软件架构演进过程中,网关所扮演的各类角色,AI 应用的流量新特征对软件架构和网关所提出的新诉求,以及基于阿里自身实践所带来的开源贡献和商业能力。
138 10
|
29天前
|
存储 运维 监控
云原生应用的可观察性:理解、实现与最佳实践
【10月更文挑战第10天】随着云原生技术的发展,可观察性成为确保应用性能和稳定性的重要因素。本文探讨了云原生应用可观察性的概念、实现方法及最佳实践,包括监控、日志记录和分布式追踪的核心组件,以及如何通过选择合适的工具和策略来提升应用的可观察性。
|
2月前
|
Cloud Native 关系型数据库 Serverless
基于阿里云函数计算(FC)x 云原生 API 网关构建生产级别 LLM Chat 应用方案最佳实践
本文带大家了解一下如何使用阿里云Serverless计算产品函数计算构建生产级别的LLM Chat应用。该最佳实践会指导大家基于开源WebChat组件LobeChat和阿里云函数计算(FC)构建企业生产级别LLM Chat应用。实现同一个WebChat中既可以支持自定义的Agent,也支持基于Ollama部署的开源模型场景。
378 16
|
6月前
|
运维 Kubernetes Cloud Native
构建高效云原生运维体系:Kubernetes最佳实践
【5月更文挑战第9天】 在动态和快速演变的云计算环境中,高效的运维是确保应用稳定性与性能的关键。本文将深入探讨在Kubernetes环境下,如何通过一系列最佳实践来构建一个高效且响应灵敏的云原生运维体系。文章不仅涵盖了容器化技术的选择与优化、自动化部署、持续集成/持续交付(CI/CD)流程的整合,还讨论了监控、日志管理以及灾难恢复策略的重要性。这些实践旨在帮助运维团队有效应对微服务架构下的复杂性,确保系统可靠性及业务的连续性。
|
6月前
|
负载均衡 Kubernetes Cloud Native
云原生最佳实践系列2:基于 MSE 云原生网关同城多活
通过使用阿里云的云原生微服务引擎 MSE,可以实现注册中心的同城容灾多活微服务应用。MSE 提供了云原生网关和注册中心,支持机房级故障的秒级自动转移、非对等部署下的全局流量负载均衡以及流量精细化管控。
767 42
|
6月前
|
弹性计算 监控 Cloud Native
云原生最佳实践系列 4:基于 MSE 和 SAE 的微服务部署与压测
通过MSE(微服务引擎)、SAE(Serverless应用引擎)、ARMS(应用监控服务)、PTS(性能测试服务)等产品,实现微服务的无服务化部署、监控和弹性伸缩。
644 15
|
6月前
|
Kubernetes Cloud Native Devops
【阿里云云原生专栏】DevOps与云原生的融合:阿里云CI/CD流水线最佳实践
【5月更文挑战第23天】阿里云融合DevOps与云原生技术,提供高效CI/CD解决方案,助力企业提升研发效能。通过云效平台,集成代码管理、构建服务、容器服务、持续部署及监控日志组件,实现自动化研发流程。案例中,应用从GitHub构建到Kubernetes部署,全程无缝衔接。借助阿里云,企业能快速构建适应云原生的DevOps体系,以应对复杂需求和提升市场竞争力。
178 1