作者:Detlef Drewanz 和 Cindy Swearingen
2014 年 6 月发布
|
Oracle Solaris 11 中引入的共享存储上的区域 (ZOSS) 特性具有以下优点:
<zonename>_rpool
)<zonename>_<zpool>
)zonecfg
)suriadm
)zoneadm
)zoneadm
),可在系统之间轻松迁移区域除了一个 Oracle Solaris 区域外,本文所述配置还包括以下内容:
基本配置步骤如下:
本文下面几节演示如何在 Oracle ZFS 存储设备 (zfssa
) 托管的 iSCSI 设备上配置 Oracle Solaris 区域 (zoss-zone
),然后将该区域从一个 Oracle Solaris 系统 (hostA
) 迁移到另一个 Oracle Solaris 系统 (hostB
)。图 1 显示了其架构:
图 1. 架构图
在 Oracle ZFS 存储设备上执行以下步骤。
zoss-zone
),创建一个 iSCSI 目标。图 2. 创建 iSCSI 目标
zoss-zone-rpool-primary
图 3. 创建并导出 iSCSI LU
本节介绍如何在第一个 Oracle Solaris 系统 (hostA
) 上创建并安装区域。
zoss-zone
的 Oracle Solaris 区域: 注:运行 add storage
命令时,指定图 3 所示的 LU GUID 作为存储标识符。
root@hostA:~# zonecfg -z zoss-zone zonecfg:zoss-zone> create zonecfg:zoss-zone> set zonepath=/zones/zoss-zone zonecfg:zoss-zone> add rootzpool zonecfg:zoss-zone:rootzpool> add storage \ iscsi://192.168.202.10/luname.naa.600144F0949056290000529625DD001 zonecfg:zoss-zone:rootzpool> end zonecfg:zoss-zone> commit zonecfg:zoss-zone> exit
安装区域将完成以下任务:
root@hostA:~# zoneadm -z zoss-zone install Configured zone storage resource(s) from: iscsi://192.168.202.10/luname.naa.600144F0949056290000529625DD0001 Created zone zpool: zoss-zone_rpool
本节介绍如何从 hostA
分离区域并将其迁移到第二个 Oracle Solaris 系统 (hostB
)。
root@hostA:~# zoneadm -z zoss-zone shutdown root@hostA:~# zoneadm -z zoss-zone detach Exported zone zpool: zoss-zone_rpool Unconfigured zone storage resource(s) from: iscsi://192.168.202.10/luname.naa.600144F0949056290000529625DD0001
hostA
传输到 hostB
:admin@hostA:~$ zonecfg -z zoss-zone export | ssh hostB 'cat - > /home/admin/zonecfg.zfg' root@hostB:~# zonecfg -z zoss-zone -f /home/admin/zonecfg.zfg
hostB
:附加区域将完成以下任务:
root@hostB:~# zoneadm -z zoss-zone attach
无需对前面各节建立的基本配置进行任何额外的更改。但是,考虑添加多路径可额外获得以下好处:
图 4 显示本节所述的多路径配置:
图 4. 多路径配置
zoss-zone
的目标组。zoss-zone
名称。zoss-zone
目标组,如图 5 所示:zoss-zone
LU。zoss-zone
目标组。图 5. 限制 LU 发现
hostA
) 上配置专用 iSCSI 网络链路。如果为 Oracle ZFS 存储设备配置了多个地址,将自动配置多个发现地址。
root@hostA:~# cat /etc/hosts | grep zfssa 192.168.202.10 zfssa-iscsi 192.168.203.10 zfssa-iscsi root@hostA:~# zonecfg -z zoss-zone info rootzpool rootzpool: storage: iscsi://zfssa-iscsi/luname.naa.600144F0949056290000529625DD0001 root@hostA:~# ipadm create-ip net1 root@hostA:~# ipadm create-ip net2 root@hostA:~# ipadm create-addr -T static -a 192.168.202.7 net1/iscsi202 root@hostA:~# ipadm create-addr -T static -a 192.168.203.7 net2/iscsi203 root@cantaloup:~# iscsiadm modify discovery -t enable root@cantaloup:~# iscsiadm list discovery-address Discovery Address: 192.168.202.7:3260 Discovery Address: 192.168.203.7:3260
stmsboot -d -D iscsi
)的目标。 root@hostA:~# iscsiadm list target -S Target: iqn.1986-03.com.sun:02:12c5dc60-1854-62c4-8f61-aa78d0815dc2 Alias: zoss-zone TPGT: 3 ISID: 4000002a0000 Connections: 1 LUN: 0 Vendor: SUN Product: Sun Storage 7000 OS Device Name: /dev/rdsk/c1t6d0s2 Target: iqn.1986-03.com.sun:02:12c5dc60-1854-62c4-8f61-aa78d0815dc2 Alias: zoss-zone TPGT: 2 ISID: 4000002a0000 Connections: 1 LUN: 0 Vendor: SUN Product: Sun Storage 7000 OS Device Name: /dev/rdsk/c1t3d0s2
root@hostA:~# stmsboot -e -D iscsi root@hostA:~# iscsiadm list target -S Target: iqn.1986-03.com.sun:02:12c5dc60-1854-62c4-8f61-aa78d0815dc2 Alias: zoss-zone TPGT: 3 ISID: 4000002a0000 Connections: 1 LUN: 0 Vendor: SUN Product: Sun Storage 7000 OS Device Name: /dev/rdsk/c0t600144F0949056290000529625DD0001d0s2 Target: iqn.1986-03.com.sun:02:12c5dc60-1854-62c4-8f61-aa78d0815dc2 Alias: zoss-zone TPGT: 2 ISID: 4000002a0000 Connections: 1 LUN: 0 Vendor: SUN Product: Sun Storage 7000 OS Device Name: /dev/rdsk/c0t600144F0949056290000529625DD0001d0s2
您可以控制 iSCSI 目标或 LU 的发现。如果目标或 LU 未发现,它不可见且不可访问。
要控制 LU 发现,请将 LU 分配到启动器组,然后指定允许哪个启动器组发现该 LU。要控制目标发现,请启用单向 CHAP 控制允许哪些启动器发现目标。
root@hostA:~# iscsiadm list initiator-node Initiator node name: iqn.1986-03.com.sun:01:e00000000000.5295332b
zoss-zone-hosts
。zoss-zone
目标 LU。zoss-zone-hosts
启动器组。图 6. 创建启动器组
root@hostA:~# iscsiadm modify initiator-node --authentication CHAP root@hostA:~# iscsiadm modify initiator-node --CHAP-secret Enter secret: ************ Re-enter secret: ************ root@hostA:~# iscsiadm list initiator-node Initiator node name: iqn.1986-03.com.sun:01:e00000000000.5295332b Initiator node alias: hostA Authentication Type: CHAP CHAP Name: iqn.1986-03.com.sun:01:e00000000000.5295332b
图 7. 启用 CHAP
root@hostA:~# iscsiadm modify discovery -t disable root@hostA:~# iscsiadm modify discovery -t enable
创建 ZFS 文件系统或卷时启用 ZFS 加密,可以保护存储和数据路径。为此,选择一个封装密钥;密钥可以来自提示符、文件、HTTPS 或 PKCS#1。系统将选择随机加密密钥。
在以下步骤中,因为 ZOSS 框架只创建未加密的数据集,需要重新创建 zoss-zone
rpool。重新创建 rpool 之后,ZOSS 会找到并使用重新创建的 rpool。
zoss-zone
rootzpool 设备的 iSCSI 设备:root@hostA:~# zonecfg -z zoss-zone info rootzpool rootzpool: storage: iscsi://zfssa-iscsi/luname.naa.600144F0949056290000529625DD0001
root@hostA:~# suriadm map iscsi://zfssa-iscsi/luname.naa.600144F0949056290000529625DD0001 PROPERTY VALUE mapped-dev /dev/dsk/c0t600144F0949056290000529625DD0001d0s0
pktool
命令生成 AES256 加密密钥,据此创建区域 rpool (zoss-zone_rpool
) 的加密密钥:root@hostA:~# pktool genkey keystore=file outkey=/etc/zones/zoss-zonekey.file keytype=aes keylen=256 root@hostA:~# chmod 600 /etc/zones/zoss-zonekey.file
zoss-zone_rpool
) 并指定应加密顶层池文件系统。同时指定加密密钥文件和第 2 步中映射的设备:root@hostA:~# zpool create -m /zones/zoss-zone -O encryption=on -O keysource=raw,file:///etc/zones/zoss-zonekey.file zoss-zone_rpool c0t600144F0949056290000529625DD0001d0
zoss-zone
rpool 并重新安装 zoss-zone:root@hostA:~# zpool export zoss-zone_rpool root@hostA:~# zoneadm -z zoss-zone install
Detlef Drewanz 是德国 Oracle 系统销售咨询团队的首席销售顾问大师。他是 Oracle Solaris 和虚拟化专家。
Cindy Swearingen 是一名 Oracle Solaris 产品经理,擅长 ZFS 和存储特性。
修订版 1.0,2014 年 6 月 18 日 |