首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >克隆硬盘Solaris 8 (SunOS 5.8)

克隆硬盘Solaris 8 (SunOS 5.8)
EN

Server Fault用户
提问于 2011-12-21 17:58:38
回答 1查看 2.3K关注 0票数 1

我有一个旧的73 it SCSI驱动器,所以我插入了一个新的73 it SCSI,我想克隆从它到新驱动器的所有东西。我想把SCSI硬盘驱动器SD20克隆到SD21。在Solaris中有什么简单的方法可以实现这一点吗?我是一个红帽Linux的家伙。我对Solaris不熟悉。

如果不能这样做,那么我必须克隆那个驱动器上的实际数据。

当我运行格式时,我得到了以下内容:

代码语言:javascript
复制
       0. c1t0d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>
          /pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w21000020378deaf4,0
       1. c1t1d0 <SUN36G cyl 24620 alt 2 hd 27 sec 107>
          /pci@8,600000/SUNW,qlc@4/fp@0,0/ssd@w21000004cf22de9f,0
       2. c2t5d0 <QUANTUM-ATLAS10K3_73_WLS-020W cyl 31014 alt 2 hd 8 sec 579>
          /pci@8,700000/scsi@6,1/sd@5,0
       3. c2t6d0 <QUANTUM-ATLAS10K3_73_WLS-020W cyl 31014 alt 2 hd 8 sec 579>
          /pci@8,700000/scsi@6,1/sd@6,0

我相信2是旧的驱动器(我想克隆),3是新的驱动器(我想克隆到)。

当我查看2的分区映射(验证)时,我得到:

代码语言:javascript
复制
Part      Tag    Flag     Cylinders         Size            Blocks
  0 unassigned    wm       0                0         (0/0/0)             0
  1 unassigned    wm       0                0         (0/0/0)             0
  2     backup    wu       0 - 31013       68.50GB    (31014/0/0) 143656848
  3 unassigned    wm       0                0         (0/0/0)             0
  4 unassigned    wm       0 - 11318       25.00GB    (11319/0/0)  52429608
  5 unassigned    wm   11319 - 31013       43.50GB    (19695/0/0)  91227240
  6 unassigned    wm       0                0         (0/0/0)             0
  7 unassigned    wm       0                0         (0/0/0)             0

当我查看3的分区映射(验证)时,我得到:

代码语言:javascript
复制
Part      Tag    Flag     Cylinders         Size            Blocks
  0       root    wm       0 -    56      128.92MB    (57/0/0)       264024
  1       swap    wu      57 -   113      128.92MB    (57/0/0)       264024
  2     backup    wu       0 - 31013       68.50GB    (31014/0/0) 143656848
  3 unassigned    wm       0                0         (0/0/0)             0
  4 unassigned    wm       0                0         (0/0/0)             0
  5 unassigned    wm       0                0         (0/0/0)             0
  6        usr    wm     114 - 31013       68.25GB    (30900/0/0) 143128800
  7 unassigned    wm       0                0         (0/0/0)             0

df -k命令的输出:

代码语言:javascript
复制
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/md/dsk/d1       5040814 2947078 2043328    60%    /
/proc                      0       0       0     0%    /proc
fd                         0       0       0     0%    /dev/fd
mnttab                     0       0       0     0%    /etc/mnttab
/dev/md/dsk/d3       5040814 1959374 3031032    40%    /var
swap                 6968984      24 6968960     1%    /var/run
swap                 6969040      80 6968960     1%    /tmp
/dev/md/dsk/d7       25815139 4844450 20712538    19%    /d001
/dev/md/dsk/d8       44918294 21617527 22851585    49%    /d002
/dev/md/dsk/d4       5040814 3897382 1093024    79%    /opt

我相信,根据2(上面)的分区映射,/d001和/d002是从旧磁盘挂载的唯一分区(我想从旧磁盘中克隆)。

如果我不能直接克隆硬盘,也许我可以在3上创建与2相同的分区映射,并将数据从/d001和/d002复制到新驱动器,这就引出了我最大的问题:如何验证/d001和/d002是从旧驱动器挂载的唯一设备?!

EN

回答 1

Server Fault用户

回答已采纳

发布于 2011-12-21 20:09:57

由于某些原因,c2t5d0s4 (/d001)和c2t5d0s5 (/d002)被设置为单面镜像.也许有人在某个时候忘记了metattach另一个磁盘?

要实现你想要的,有两种方法。

方法1

正如您所建议的,可以使用dd。首先,我将通过挂载和查看文件系统内容来验证您不需要c2t6d0s6上的数据。

代码语言:javascript
复制
mount /dev/dsk/c2t6d0s6 /mnt

在磁盘开始时也有两个小分区。请与metadb确认这些不是SDS所要求的。如果列出了这些分区,并且在元数据中的其他磁盘上有分区,则删除它们:

代码语言:javascript
复制
metadb -d c2t6d0s0
metadb -d c2t6d0s1

然后,您将能够使用dd克隆:

代码语言:javascript
复制
umount /d001
umount /d002
dd if=/dev/rdsk/c2t5d0 of=/dev/rdsk/c2t6d0

方法2

由于您已经配置了SDS,您可以使用它来完成镜像。

首先,您需要复制分区表:

代码语言:javascript
复制
prtvtoc /dev/rdsk/c2t5d0s2 | fmthard -s - /dev/rdsk/c2t6d0s2

然后创建元设备:

代码语言:javascript
复制
metainit d72 1 1 c2t6d0s4
metainit d82 1 1 c2t6d0s5

然后将这些附加到现有的镜像中:

代码语言:javascript
复制
metattach d7 d72
metattach d8 d82

警告:元设备d71已经通过SDS记录了错误,并已被放到维护中。它可能拒绝复制此分区。

定期检查镜像是否同步:

代码语言:javascript
复制
metastat

您将在每个正在重建的子镜像旁边获得一个进展。State:字段会说,一旦重建完成,就可以了。

删除旧驱动器

断开镜像的每个分区。

代码语言:javascript
复制
metadetach d7 d71
metadetach d8 d81

我不记得Solaris 8是否有cfgadm,但如果有,运行:

代码语言:javascript
复制
cfgadm -al

要检查要删除哪个设备(可能是c2::dsk/c2t5d0),请取消配置:

代码语言:javascript
复制
cfgadm -c unconfigure c2::dsk/c2t5d0

这样就可以安全地移除它了。

如何验证/d001和/d002是从旧驱动器上安装的唯一东西?!

简单:它们是磁盘上唯一的分区。(片2是整个磁盘,而不是实际可用的分区。)

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/343207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档