Oracle小机利用ZFS实现在线存储迁移

本文详细介绍了ZFS文件系统在OracleSolaris环境中的应用,包括ZFS的开发背景、Oracle对ZFS的支持、磁盘扫描与格式化、物理磁盘分配给虚拟机、ZFS镜像池操作(添加新盘、同步迁移和容量扩展)以及虚拟机上磁盘发现的过程。
摘要由CSDN通过智能技术生成

1.ZFS介绍

    2004年:Sun Microsystems 开始研发 ZFS 文件系统。ZFS 最初是作为 Solaris 操作系统的一部分而开发的,旨在解决传统文件系统的一些限制和问题。

  1. 2010年:Oracle 收购了 Sun 公司,从而获得了 ZFS 文件系统的所有权和控制权。Oracle 继续支持和开发 ZFS 文件系统,并将其作为 Solaris 操作系统的关键特性之一。Oracle 将 ZFS 文件系统引入到其硬件产品线中,包括 Sparc系列型机,Exadata存储等。这些产品提供了基于 ZFS 的存储解决方案,为企业提供了高度可靠、高性能和易于管理的存储平台。

  2. ZFS的pool的管理和Oracle的ASM有一定相似性,可以在一个pool内实现加盘,删盘从而实现存储的无缝切换,本文以一个范例介绍这个​功能。

2.存储划盘并赋予主机

  环境:Sparc S7-2 / Solaris11 

  Solaris虚拟机

##扫描新加磁盘cfgadm -aldevfsadm -v format ---find new diskroot@nwmsdb:~# formatSearching for disks...doneAVAILABLE DISK SELECTIONS:0. c0t5000CCA07D07ACC8d0      <HGST-H101860SFSUN600G-A990-558.91GB>     </HGST-H101860SFSUN600G-A990-558.91GB>          /scsi_vhci/disk@g5000cca07d07acc8          /dev/chassis/SYS/HDD0/disk1. c0t5000CCA07D06C690d0      <HGST-H101860SFSUN600G-A990-558.91GB>     </HGST-H101860SFSUN600G-A990-558.91GB>          /scsi_vhci/disk@g5000cca07d06c690          /dev/chassis/SYS/HDD1/disk2. c1t0d0          /pci@300/pci@1/pci@0/pci@2/usb@0/storage@1/disk@0,0          /dev/chassis/SYS/MB/EUSB-DISK/disk3. c0t60060E80122E7F0050402E7F00000027d0      <HITACHI-OPEN-V     </HITACHI-OPEN-V-SUN-8301-100.00GB> ---new disk          /scsi_vhci/ssd@g60060e80122e7f0050402e7f000000274. c0t60060E80122E7F0050402E7F00000028d0      <HITACHI-OPEN-V     </HITACHI-OPEN-V-SUN-8301-450.00GB>---new disk          /scsi_vhci/ssd@g60060e80122e7f0050402e7f000000285. c0t60060E801227C400504027C400000018d0      <HITACHI-OPEN-V     </HITACHI-OPEN-V-SUN-8301-100.00GB>---old disk          /scsi_vhci/ssd@g60060e801227c400504027c4000000186. c0t60060E801227C400504027C400000019d0      <HITACHI-OPEN-V     </HITACHI-OPEN-V-SUN-8301-400.00GB>---old disk          /scsi_vhci/ssd@g60060e801227c400504027c400000019Specify disk (enter its number):     

如果识别不到 可能需要重启主机,主机重启,该主机上的虚拟机会被挂起,

但是不会重启

Check ldm

更多关于solaris vm参考文件《Oracle VM Server for SPARC 3.1 管理指南》  

root@nwmsdb:~#  ldm list         NAME             STATE      FLAGS   CONS    VCPU  MEMORY   UTIL  NORM  UPTIMEprimary          active     -n-cv-  UART    8     16G      0.7%  0.7%  7d 2h 23mldg1             active     -n----  5000    120   110G     0.1%  0.1%  7d 45mroot@nwmsdb:~#root@nwmsdb:~#  ldm list-servicesVCC    NAME         LDOM         PORT-RANGE    primary-vcc0 primary      5000-5100VSW    NAME         LDOM         MACADDRESS          NET-DEV   DVID|PVID|VIDs    ----         ----         ----------          -------   --------------    primary-vsw0 primary      00:14:4f:fa:2b:c1   net0      1|1|--       VDS    NAME         LDOM         VOLUME         OPTIONS          MPGROUP        DEVICE    primary-vds0 primary      ldg1_bootdisk                                  /dev/zvol/dsk/rpool/ldg1/disk1                              ldg1_data01                                    /dev/dsk/c0t60060E801227C400504027C400000018d0s0                              ldg1_data02                                    /dev/dsk/c0t60060E801227C400504027C400000019d0s0----该虚拟机原有的两块磁盘root@nwmsdb:~#

 

3.将物理磁盘付给本机的虚拟机  

从服务域导出虚拟磁盘后端。---语法# ldm add-vdsdev [-fq] [options={ro,slice,excl}] [mpgroup=mpgroup] \backend volume-name@service-name将后端指定给来宾域。# ldm add-vdisk [timeout=seconds] [id=disk-id] disk-name volume-name@service-name ldomldm add-vdsdev  /dev/dsk/c0t60060E80122E7F0050402E7F00000027d0s2 ldg1_data03@primary-vds0ldm add-vdisk ldg1_data03 ldg1_data03@primary-vds0 ldg1ldm add-vdsdev  /dev/dsk/c0t60060E80122E7F0050402E7F00000028d0s2 ldg1_data04@primary-vds0ldm add-vdisk ldg1_data04 ldg1_data04@primary-vds0 ldg1

▼ 如何将物理磁盘作为虚拟磁盘导出

注意– 配置虚拟磁盘时,确保每个虚拟磁盘引用不同的物理(后端)资源,如物理磁盘、磁盘分片、文件或卷。某些磁盘(如光纤通道和SAS)本身具有“双端口”,即同一个磁盘可以被两个不同的路径引用。确保分配给不同域的路径不会引用同一个物理磁盘。

将物理磁盘作为虚拟磁盘导出。

例如,要将物理磁盘c1t48d0 作为虚拟磁盘导出,则必须导出该磁盘的分片2

(c1t48d0s2)。primary# ldm add-vdsdev /dev/dsk/c1t48d0s2 c1t48d0@primary-vds0

将磁盘指定给来宾域。例如,将磁盘(pdisk) 指定给来宾域ldg1。

primary# ldm add-vdisk pdisk c1t48d0@primary-vds0 ldg1

来宾域启动并运行Oracle Solaris OS 之后,检验该磁盘是否可供访问且是否为完整磁盘。完整磁盘是一个具有八(8) 个分片的常规磁盘。

例如,要检查的磁盘为c0d1。    

ldg1# ls -1 /dev/dsk/c0d1s*/dev/dsk/c0d1s0/dev/dsk/c0d1s1/dev/dsk/c0d1s2/dev/dsk/c0d1s3/dev/dsk/c0d1s4/dev/dsk/c0d1s5/dev/dsk/c0d1s6/dev/dsk/c0d1s7

--如何删除虚拟磁盘

--从来宾域删除虚拟磁盘。

ldm rm-vdisk ldg1_data03 ldg1ldm rm-vdisk ldg1_data04 ldg1

--停止从服务域导出相应的后端。

ldm rm-vdsdev ldg1_data03@primary-vds0ldm rm-vdsdev ldg1_data04@primary-vds0

          

4.在虚拟机上发现新加磁盘

[root@wmsdb:/]# formatSearching for disks...doneAVAILABLE DISK SELECTIONS:       0. c0d0          /virtual-devices@100/channel-devices@200/disk@0       1. c0d1          /virtual-devices@100/channel-devices@200/disk@1       2. c0d2          /virtual-devices@100/channel-devices@200/disk@2       3. c0d3      <HITACHI-OPEN-V     </HITACHI-OPEN-V-SUN-8301-100.00GB>          /virtual-devices@100/channel-devices@200/disk@3       4. c0d4      <HITACHI-OPEN-V     </HITACHI-OPEN-V-SUN-8301-450.00GB>          /virtual-devices@100/channel-devices@200/disk@4       ------new diskSpecify disk (enter its number):  

5.利用zfs 将新盘替换掉原有盘 实现存储迁移

5.1,增加一个镜像盘到pool    

 zpool attach arch_pool c0d1 c0d3 zpool attach data_pool c0d2 c0d4 [root@wmsdb:/]# zpool status data_pool  --check mirror status  pool: data_pool state: ONLINEstatus: One or more devices is currently being resilvered.  The pool will        continue to function, possibly in a degraded state.action: Wait for the resilver to complete. scan: resilver in progress since Mon Feb  3 15:44:51 2020    165G scanned out of 341G at 45.3M/s, 1h6m to go    165G resilvered, 48.49% doneconfig:        NAME        STATE     READ WRITE CKSUM        data_pool   ONLINE       0     0     0          mirror-0  ONLINE       0     0     0            c0d2    ONLINE       0     0     0            c0d4    ONLINE       0     0     0  (resilvering)

同步完成后 可以删除旧盘

5.2,删除原磁盘

 zpool detach arch_pool c0d1 zpool detach data_pool c0d2

5.3,可以将第二块盘的容量扩展出来(这步可以放在删除原磁盘c1t1d0之后做)

 zpool set autoexpand=on arch_pool zpool set autoexpand=on data_pool

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

潇湘秦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值