Hyper Protect Virtual Servers 从 VPC 到内部部署的安全数据迁移
本综合指南将指导您完成从 IBM Cloud VPC 上运行的 Hyper Protect Virtual Servers 实例向内部环境安全迁移数据的过程。
Hyper Protect Virtual Servers 云数据卷使用用户提供的种子值进行完全加密,确保只有原始用户才能解密数据。 这些加密卷可以传输到内部环境,并保持完全的机密性。 只有在 IBM Confidential Computing Container Runtime 或 IBM Confidential Computing Container Runtime for Red Hat Virtualization Solutions 内部部署中才能对传输的卷进行解密,因为 LUKS 解密口令 仅在 HPVS 实例的安全执行边界内生成。 安全执行边界旨在保护内存秘密免遭篡改和检查,包括内存转储或系统管理员或管理程序的访问尝试。 因此,在 HPVS 实例的整个生命周期内,加密密钥和口令都将保持隔离和保护。
本指南中描述的迁移步骤仅在服务终止 (EOS) 窗口之前有效。 如需了解更多信息,请参阅 服务弃用公告。
先决条件
请确保您具备以下条件:
-
VPC SE VSI 使用 HPVS 实例的 Active IBM Cloud 账户
-
VPC NON SE VSI 在 IBM Cloud 上运行的虚拟服务器实例,安装有
qemu-utils软件包 -
VPC NON SE VSI 足够的存储空间,以容纳从
ssh到 VSI 的机器中的卷快照 -
VPC NON SE VSI VPC SE VSI 对云环境和内部部署环境的管理访问
-
用于在以下设备上部署 HPVS 的原始合同和种子文件 IBM Cloud
-
备份验证:确认 HPVS 实例上有最近的数据备份 ( IBM Cloud 部署)
-
停机计划:建议安排一个维护窗口,避免在迁移过程中修改加密卷。
-
网络连接:确保卷快照计算机与内部计算机之间的安全传输机制(VPN、直接链接或安全文件传输
-
所需工具:在虚拟服务器实例上安装
qemu-utils:-
用于 Ubuntu 或 Debian:
sudo apt-get update && sudo apt-get install -y qemu-utils -
对于 RHEL 或 CentOS:
sudo yum install -y qemu-img
-
迁移工作流程图
过程
步骤 1:为加密磁盘卷制作快照
为连接到 HPVS 实例的加密磁盘卷拍摄卷快照。 有关详细信息,请参阅 创建 Block Storage for VPC 快照。
第 2 步:使用快照用 QEMU 创建虚拟服务器实例
通过导入快照创建虚拟服务器实例。 有关详细信息,请参阅 在控制台中创建虚拟服务器实例。
第 3 步:确定音量位置
-
通过 SSH 登录到您的虚拟服务器实例:
ssh -i /path/to/private_key user@<VSI_IP_ADDRESS> -
运行
lsblk命令列出所有块设备:lsblk -
确定输出中的音量:
请参见以下输出示例:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vda 254:0 0 100G 0 disk
├─vda1 254:1 0 99.9G 0 part /
├─vda14 254:14 0 3M 0 part
└─vda15 254:15 0 124M 0 part /boot/efi
vdb 254:16 0 368K 0 disk
vdc 254:32 0 44K 0 disk
vdd 254:48 0 10G 0 disk ← new volume
├─vdd1 254:49 0 99M 0 part
└─vdd2 254:50 0 9.9G 0 part
新卷通常是最后列出的设备(本例中为 vdd )。
- 记下设备路径(例如:
/dev/vdd),以便下一步使用。
第 4 步:创建卷快照
使用 QEMU 工具创建卷的压缩快照。
-
创建一个用于存储快照的目录:
sudo mkdir -p /var/lib/libvirt/images/hpvs/snap-image cd /var/lib/libvirt/images/hpvs/snap-image -
使用
qemu-img创建快照:sudo qemu-img convert -p -f raw -O qcow2 /dev/vdd vdd.qcow2命令参数:
-p:在转换过程中显示进度-f raw:源格式(原始块设备)-O qcow2:输出格式( QCOW2 压缩图像)/dev/vdd:源设备(用设备路径代替)vdd.qcow2: 输出文件名
这个过程可能需要相当长的时间,这取决于容量的大小。 一个 10 GB 的卷通常需要 5-15 分钟。
-
验证快照是否已成功创建:
ls -lh vdd.qcow2 qemu-img info vdd.qcow2预期输出:
image: vdd.qcow2 file format: qcow2 virtual size: 10 GiB (10737418240 bytes) disk size: 2.5 GiB cluster_size: 65536
第 5 步:将快照传输到内部部署
安全地将快照文件传输到内部环境。
scp vdd.qcow2 user@on-premises-host:/var/lib/libvirt/images/hpvs/snap-image/
第 6 步:配置内部虚拟服务器
更新内部部署虚拟服务器配置,以使用迁移的卷。
-
找到域 XML 配置文件:
- 对于 HPVS:
hpvsnew.xml - 用于 HPCR:
hpcrnew.xml
- 对于 HPVS:
-
编辑 XML 文件以添加或更新磁盘配置:
对于 HPVS (hpvsnew.xml):
<domain type='kvm'>
<name>hpvs-migrated</name>
<devices>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none' iommu='on'/>
<source file='/var/lib/libvirt/images/hpvs/snap-image/vdd.qcow2'/>
<target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>
</devices>
</domain>
用于 HPCR (hpcrnew.xml):
<domain type='kvm'>
<name>hpcr-migrated</name>
<devices>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2' cache='none' iommu='on'/>
<source file='/var/lib/libvirt/images/hpvs/snap-image/vdd.qcow2'/>
<target dev='vdb' bus='virtio'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
</disk>
</devices>
</domain>
配置参数:
type='file':磁盘源为文件device='disk':设备类型为磁盘driver name='qemu' type='qcow2':使用 QCOW2 格式的 QEMU 驱动程序cache='none':禁用缓存以提高数据完整性iommu='on':启用 IOMMU 以确保安全target dev='vdb':访客内的设备名称bus='virtio':使用 VirtIO 可提高性能
- 确保拥有初始部署 HPVS 时使用的原始合同和种子文件。