百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

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

moboyou 2025-03-12 13:41 51 浏览

  1. ZFS介绍

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

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

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

2.存储划盘并赋予主机


环境:Sparc S7-2 / Solaris11

Solaris虚拟机

##扫描新加磁盘
cfgadm -al
devfsadm -v 
format ---find new disk
root@nwmsdb:~# format
Searching for disks...done

AVAILABLE DISK SELECTIONS:
0. c0t5000CCA07D07ACC8d0      
     
          /scsi_vhci/disk@g5000cca07d07acc8
          /dev/chassis/SYS/HDD0/disk
1. c0t5000CCA07D06C690d0      
     
          /scsi_vhci/disk@g5000cca07d06c690
          /dev/chassis/SYS/HDD1/disk
2. c1t0d0
          /pci@300/pci@1/pci@0/pci@2/usb@0/storage@1/disk@0,0
          /dev/chassis/SYS/MB/EUSB-DISK/disk
3. c0t60060E80122E7F0050402E7F00000027d0      <HITACHI-OPEN-V

      ---new disk
          /scsi_vhci/ssd@g60060e80122e7f0050402e7f00000027
4. c0t60060E80122E7F0050402E7F00000028d0      <HITACHI-OPEN-V

     ---new disk
          /scsi_vhci/ssd@g60060e80122e7f0050402e7f00000028
5. c0t60060E801227C400504027C400000018d0      <HITACHI-OPEN-V

     ---old disk
          /scsi_vhci/ssd@g60060e801227c400504027c400000018
6. c0t60060E801227C400504027C400000019d0      <HITACHI-OPEN-V

     ---old disk
          /scsi_vhci/ssd@g60060e801227c400504027c400000019
Specify 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  UPTIME
primary          active     -n-cv-  UART    8     16G      0.7%  0.7%  7d 2h 23m
ldg1             active     -n----  5000    120   110G     0.1%  0.1%  7d 45m
root@nwmsdb:~#
root@nwmsdb:~#  ldm list-services
VCC
    NAME         LDOM         PORT-RANGE
    primary-vcc0 primary      5000-5100

VSW
    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 ldom

ldm add-vdsdev  /dev/dsk/c0t60060E80122E7F0050402E7F00000027d0s2 ldg1_data03@primary-vds0

ldm add-vdisk ldg1_data03 ldg1_data03@primary-vds0 ldg1

ldm add-vdsdev  /dev/dsk/c0t60060E80122E7F0050402E7F00000028d0s2 ldg1_data04@primary-vds0

ldm 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 ldg1
ldm rm-vdisk ldg1_data04 ldg1

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

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


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


[root@wmsdb:/]# format
Searching for disks...done


AVAILABLE 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

     
          /virtual-devices@100/channel-devices@200/disk@3
       4. c0d4      <HITACHI-OPEN-V

     
          /virtual-devices@100/channel-devices@200/disk@4
       ------new disk
Specify 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: ONLINE
status: 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% done
config:

        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

相关推荐

php宝塔搭建部署实战SDCMS蓝色通用宽屏企业网站源码

大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的SDCMS蓝色通用宽屏企业网站源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5.7+...

PHP Laravel定时任务Schedule

前提:本文方法是利用Linux的crontab定时任务来协助实现Laravel调度(Mac也一样)。一、首先添加Crontab定时任务,这里只做简单介绍:用命令crontab-e添加如下内容**...

PHP函数大全:从Array到Zip,你需要了解的所有函数

PHP函数大全:从Array到Zip,你需要了解的所有函数在PHP开发中,函数是非常重要的工具。它们提供了各种功能和操作,帮助我们更高效地处理数据和实现各种功能。在本文中,我们将介绍PHP中一些常用的...

php宝塔搭建部署实战SDCMS蓝色系列包装行业网站源码

大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的SDCMS蓝色系列包装行业网站源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5.7+...

php宝塔部署实战月老盲盒H5交友盲盒网站源码

大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的月老盲盒H5交友盲盒网站源码。技术架构PHP7.2+nginx+mysql5.7+JS+CSS+HTMLcn...

php宝塔部署实战OneKeyAdmin插件化管理系统源码

大家好啊,我是测评君,欢迎来到web测评。有个朋友发消息问我,能不能录制一期开源OneKeyAdmin插件化CMS管理系统的搭建视频教程,看了一下,搭建的方式还是很简单的,本期给大家分享一下怎么在宝塔...

php宝塔搭建部署实战海洋cms视频内容管理系统源码

大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的海洋cms视频内容管理系统源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5.7+J...

php宝塔搭建部署网盘目录搜索系统thinkphp源码

大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的网盘目录搜索系统thinkphp源码,这也是一个朋友之前分享给我的,说不会搭建,看了一下,还是很简单的,感兴趣的朋友可以自行下载...

php宝塔搭建部署实战PESCMSTEAM团队任务管理系统源码

大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的PESCMSTEAM团队任务管理系统源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5....

php宝塔搭建部署实战科技创业园区网站源码

大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的科技创业园区网站源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5.7+JS+C...

在CentOS7系统源码安装Nginx+MySQL+PHP+Go

以下安装说明仅供参考,请根据实际情况修改配置,进行软件编译安装软件安装也可以参考阿里云/腾讯云的建站教程:https://help.aliyun.com/zh/ecs/use-cases/build-...

2021最新湖北电视台节目源PHP代理源码

强调下这需要要PHP服务器来运行代码,奈何世人只爱鱼,不爱渔。自己动手对大部分人还是一个坎。id频道439湖北美嘉购物438湖北垄上437湖北教育436湖北生活435湖北影视434湖...

教你搭建自己的问答系统,在java环境上运行php项目

最近公司需要一款问答系统,方便我们平时在这套系统上面积累经验于是在网上找到这款Tipask问答系统。Tipask问答系统是一款开放源码的PHP仿百度问答系统。以国人的使用习惯为设计理念,采用MVC构架...

php宝塔搭建实战部署响应式房产置业公司网站php源码

大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的响应式房产置业公司网站模板php源码,也是一个朋友很早之前分享给我的,说不会搭建,让我帮忙录制一期教程,趁着今天有空,简单的录制...

php宝塔搭建部署实战易优企业官网系统源码

大家好啊,我是测评君,欢迎来到web测评。本期给大家带来一套php开发的易优企业官网系统源码,感兴趣的朋友可以自行下载学习。技术架构PHP7.2+nginx+mysql5.7+JS+C...