前情提要:机器为TS-453Bmini,系统为5.1,原本有两块机械硬盘,都是单一静态卷,现在增加了一个SSD作为系统盘。操作过程为:
- 备份系统配置到本地
- 在“存储/快照”里面移除(忘记是操作的移除还是安全卸载了)系统盘
- 关机,拔下两块磁盘,插上SSD,开机,在SSD上新建单一静态卷
- 恢复系统配置,重启,安装app
- 关机,插上那两块机械硬盘,插槽2还是以前的硬盘,以前的系统盘插到了插槽3,开机
现在“存储/快照”里面只有SSD一个,机械硬盘都不显示了。
通过“磁盘/VJOB”->恢复->连接并恢复存储池 成功的恢复了磁盘2,以前的系统盘还是没有恢复
参考 https://www.chiphell.com/thread-2537968-1-1.html 的操作,问题是pvcreate和vgcfgrestort 都需要用到/mnt/HDA_R00T/.config/lvm/ 下以前的配置信息,但是我现在的这个目录下是新的SSD上的,没有以前的配置信息。以前的配置信息在以前的系统盘里面,还没挂载上来呢。
因为两块机械硬盘是一样的,猜测配置信息也是一下的,所以直接复制第二块机械硬盘的配置,然后修改一些参数
1. 修复flex标签
使用qcli_storage -d 命令查看显示/dev/sda的Signature列只有QNAP没有FLEX,使用以下命令恢复FLEX标签
storw2util --nas-disk-write-signature-v2 enc_id=0,port_id=3
2. 创建raid
mdadm -CfR --assume-clean /dev/md3 -n 1 -l 1 -e 1.0 /dev/sda3
3. 创建物理卷
用pvs、lvs、vgs查看都没有这块硬盘的信息,只有两个硬盘的信息:vg288、vg289,vg288是新的SSD,vg289是第二块硬盘,我们就用vg289重建第三块硬盘的卷信息。
复制/mnt/HDA_ROOT/.config/lvm/backup/vg289 为 vg290.vg
cp /mnt/HDA_ROOT/.config/lvm/backup/vg289 vg290.vg
然后编辑vg290.vg,把里面的uuid都改动一下,否则会重复,再把logical_volumes下的键的数字加1,比如lv545改为lv546,lv2改为lv3
创建物理卷:
pvcreate -ff --uuid fGRNJs-ttZZ-LSK8-kxPK-4EQa-Cjcz-a4Wbuw --restorefile vg290.vg /dev/md3
-uui是vg290.vg里面physical_volumes.pv0的id字段的值
再用pvs查看可以看到新建的卷:
PV VG Fmt Attr PSize PFree
/dev/drbd1 vg288 lvm2 a-- 829.81g 0
/dev/drbd2 vg289 lvm2 a-- 3.63t 0
/dev/md3 vg290 lvm2 a-- 3.63t 0
不过奇怪,两块正常的硬盘是drbd,新创建的是md,也许pvcreate后面的参数应该改为/dev/drbd3,尝试过,但是执行会报错,提示需要改为md,那就这样把
4. 恢复卷组信息
vgcfgrestort --force -f vg290.vg vg290
再使用lvchange -ay vg289 激活vg
5. 挂载
(这一步我好像忘记做了,但是最后居然还是成功了)
/etc/init.d/init_lvm.sh
以上命令都执行成功了
重启之后,登录系统,报警告信息,忘记具体是什么内容了,大概意思是不支持的存储池,不管它,然后按照恢复第二块硬一样恢复第一块硬盘,成功了。
如果还有错误,重启系统试试吧,反正我是多次重启多次恢复,最后神奇的是,系统自动创建了/dev/drbd3 vg291,/dev/md3 vg290消失了,如果没有消失可以尝试手动删除:pvremove /dev/md3