

asustorのAS3102Tを使っています。  
先日、NASにアクセスしたら初期設定の画面が表示されたので、急いで電源を切り新しいHDDを買ってきて入れ替えました。古いHDDはUSBの外付けボックス経由でNASにつないでいます。  
この状態で、古いHDD内のファイルを復旧する方法を知りたいです。

NASは組み込みLinux上で動いていて、その上でJBODのRAIDを組んでおりbtrfsでフォーマットしています。試したことは次の通りです。

[code]

    root@agartha $ mdadm --examine /dev/sdd3
    /dev/sdd3:
              Magic : a92b4efc
            Version : 1.2
        Feature Map : 0x0
         Array UUID : 1e748aef:a00558dc:095d0302:b45acb4e
               Name : agartha:2  (local to host agartha)
      Creation Time : Mon Mar 15 07:51:13 2021
         Raid Level : linear
       Raid Devices : 1
    
     Avail Dev Size : 15618876176 (7447.66 GiB 7996.86 GB)
      Used Dev Size : 0
        Data Offset : 262144 sectors
       Super Offset : 8 sectors
       Unused Space : before=262056 sectors, after=0 sectors
              State : clean
        Device UUID : 2b838137:a13c43b5:36c36506:590cd536
    
        Update Time : Mon Mar 15 07:51:13 2021
      Bad Block Log : 512 entries available at offset 72 sectors
           Checksum : 3c2a88 - correct
             Events : 0
    
           Rounding : 0K
    
       Device Role : spare
       Array State : A ('A' == active, '.' == missing, 'R' == replacing)
    root@agartha $ mdadm --assemble /dev/md2 --force --run --verbose /dev/sdd3
    mdadm: looking for devices for /dev/md2
    mdadm: /dev/sdd3 is identified as a member of /dev/md2, slot -1.
    mdadm: no uptodate device for slot 0 of /dev/md2
    mdadm: added /dev/sdd3 to /dev/md2 as -1
    mdadm: failed to RUN_ARRAY /dev/md2: Invalid argument
    mdadm: Not enough devices to start the array.
    root@agartha $ dmesg|tail
    [ 2033.218597] md: pers->run() failed ...
    [ 2033.218772] md: md9 stopped.
    [ 2048.095630] md: md2 stopped.
    [ 2048.122824] md/linear:md2: not enough drives present. Aborting!
    [ 2048.122830] md: pers->run() failed ...
    [ 2048.122991] md: md2 stopped.
    [ 4267.871106] md: md2 stopped.
    [ 4267.893086] md/linear:md2: disk numbering problem. Aborting!
    [ 4267.893093] md: pers->run() failed ...
    [ 4267.893280] md: md2 stopped.
    root@agartha $ 
    
[/code]

以上です。そのほかに必要な情報があれば教えてください  
よろしく、お願いします。

**追記:**

device roleがスペアだったので、activeだった場合の出力

[code]

    root@agartha $ mdadm --assemble /dev/md2 --force --run --verbose /dev/sdf3
    mdadm: looking for devices for /dev/md2
    mdadm: /dev/sdf3 is identified as a member of /dev/md2, slot 0.
    mdadm: no uptodate device for slot 2 of /dev/md2
    mdadm: added /dev/sdf3 to /dev/md2 as 0
    mdadm: failed to RUN_ARRAY /dev/md2: Invalid argument
    mdadm: Not enough devices to start the array.
    
[/code]

21:30 追記  
fdisk -l /dev/sd* の結果

[code]

    Disk /dev/sda: 7.3 TiB, 8001563222016 bytes, 15628053168 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: gpt
    Disk identifier: FC762E12-CB50-4A75-9CAC-2A9D9FE24126
    
    Device       Start         End     Sectors  Size Type
    /dev/sda1     2048      524287      522240  255M Linux filesystem
    /dev/sda2   524288     4718591     4194304    2G Linux RAID
    /dev/sda3  4718592     8912895     4194304    2G Linux RAID
    /dev/sda4  8912896 15628052479 15619139584  7.3T Linux RAID
    
    
    Disk /dev/sda1: 255 MiB, 267386880 bytes, 522240 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    
    
    Disk /dev/sda2: 2 GiB, 2147483648 bytes, 4194304 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    
    
    Disk /dev/sda3: 2 GiB, 2147483648 bytes, 4194304 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    
    
    Disk /dev/sda4: 7.3 TiB, 7996999467008 bytes, 15619139584 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    
    
    Disk /dev/sdb: 7.3 TiB, 8001563222016 bytes, 15628053168 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: gpt
    Disk identifier: D9477EE0-6599-477F-99DB-424FE08DC299
    
    Device       Start         End     Sectors  Size Type
    /dev/sdb1   524288     4712455     4188168    2G Linux RAID
    /dev/sdb2  4718592     8908807     4190216    2G Linux RAID
    /dev/sdb3  8912896 15628051215 15619138320  7.3T Linux RAID
    
    
    Disk /dev/sdb1: 2 GiB, 2144342016 bytes, 4188168 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    
    
    Disk /dev/sdb2: 2 GiB, 2145390592 bytes, 4190216 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    
    
    Disk /dev/sdb3: 7.3 TiB, 7996998819840 bytes, 15619138320 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    
    
    
    
    Disk /dev/sdd: 7.3 TiB, 8001563222016 bytes, 15628053168 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: gpt
    Disk identifier: B9A7FDFB-150B-4C8D-97E0-1933166D5B45
    
    Device       Start     End Sectors Size Type
    /dev/sdd1   524288 4714503 4190216   2G Linux RAID
    /dev/sdd2  4718592 8908807 4190216   2G Linux RAID
    /dev/sdd3  8912896 8912903       8   4K Linux RAID
    
    
    Disk /dev/sdd1: 2 GiB, 2145390592 bytes, 4190216 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    
    
    Disk /dev/sdd2: 2 GiB, 2145390592 bytes, 4190216 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    
    
    Disk /dev/sdd3: 4 KiB, 4096 bytes, 8 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: dos
    Disk identifier: 0x00000000
    
    
    Disk /dev/sde: 5.5 TiB, 6001175126016 bytes, 11721045168 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: gpt
    Disk identifier: 37554534-080E-4CA0-B019-C7B2ADABB02E
    
    Device     Start         End     Sectors  Size Type
    /dev/sde1   2048 11721045134 11721043087  5.5T Microsoft basic data
    
    
    Disk /dev/sde1: 5.5 TiB, 6001174060544 bytes, 11721043087 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    
    
    Disk /dev/sdf: 7.3 TiB, 8001563222016 bytes, 15628053168 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: gpt
    Disk identifier: 92F97BEA-8D27-40EF-A3F9-001271E6A476
    
    Device       Start         End     Sectors  Size Type
    /dev/sdf1   524288     4714503     4190216    2G Linux RAID
    /dev/sdf2  4718592     8908807     4190216    2G Linux RAID
    /dev/sdf3  8912896 15628051215 15619138320  7.3T Linux RAID
    
    
    Disk /dev/sdf1: 2 GiB, 2145390592 bytes, 4190216 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    
    
    Disk /dev/sdf2: 2 GiB, 2145390592 bytes, 4190216 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    
    
    Disk /dev/sdf3: 7.3 TiB, 7996998819840 bytes, 15619138320 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    
[/code]

21:56 追記  
試しに、raid1だった/dev/sdf1を認識させたときのログ。うまく認識しているみたい

[code]

    bash-4.4# mdadm --assemble /dev/md2 --verbose --force --run /dev/sdf1
    mdadm: looking for devices for /dev/md2
    mdadm: /dev/sdf1 is identified as a member of /dev/md2, slot 0.
    mdadm: no uptodate device for slot 2 of /dev/md2
    mdadm: added /dev/sdf1 to /dev/md2 as 0
    mdadm: /dev/md2 has been started with 1 drive (out of 2).
    bash-4.4# mdadm --detail /dev/md2
    /dev/md2:
            Version : 1.2
      Creation Time : Thu Nov 14 07:49:04 2019
         Raid Level : raid1
         Array Size : 2095104 (2046.34 MiB 2145.39 MB)
      Used Dev Size : 2095104 (2046.34 MiB 2145.39 MB)
       Raid Devices : 2
      Total Devices : 1
        Persistence : Superblock is persistent
    
        Update Time : Mon Mar 15 20:51:38 2021
              State : clean, degraded 
     Active Devices : 1
    Working Devices : 1
     Failed Devices : 0
      Spare Devices : 0
    
               Name : AS3102T-EC2E:0
               UUID : 9b6f13e4:dee13992:387d90bb:d415e565
             Events : 1592
    
        Number   Major   Minor   RaidDevice State
           0       8       81        0      active sync   /dev/sdf1
           2       0        0        2      removed
    bash-4.4# mount -o ro -t ext4 0 /dev/md2 /share/disk/
    bash-4.4# ls -a /share/disk/
    .           ..          .@system    .@trashcan  etc         lost+found  usr
    bash-4.4# exit
    exit
    
[/code]

3月20日 0:30追記  
つぎのようにして、device role: spareを外すことが出来ました。ただ、色々と試しながらなのと、記憶に頼っているので間違いがあるかも知れません。

  1. 古くなって使わなくなっていた3TBのHDDを仮RAID用として用意。外付けHDDボックスにこの3TBと回復させたいHDDをセットする
  2. partedを使ってRAID用に3GBほど母領域を確保
  3. `mdadm --create /dev/md2 --level=1 --raid-devices=1 --force /dev/sde1`として、先ほどの領域をraidとして用意。
  4. `mkfs.btrfs /dev/md2`として、RAID領域をbtrfsでフォーマット
  5. `mdadm --manage /dev/ms2 --add --force /dev/sdf3`として回復させたいHDD(のパーティション)を強引に追加
  6. NASを再起動する。(この前にtestdiskかfdiskでファイルシステムの確認をしたかも知れません)
  7. 再起動後、`mdadm --create /dev/md2 --level=linear --raid-devices=2 /dev/sde1 /dev/sdf3`としてraidを認識させる。

これで/dev/sdf3がActive deviceとなったみたいです。  
detailとexamineの結果は次の通りです

[code]

    root@@agartha # mdadm --detail /dev/md2
    /dev/md2:
            Version : 1.2
      Creation Time : Fri Mar 19 05:49:45 2021
         Raid Level : linear
         Array Size : 7810615688 (7448.78 GiB 7998.07 GB)
       Raid Devices : 2
      Total Devices : 2
        Persistence : Superblock is persistent
    
        Update Time : Fri Mar 19 05:49:45 2021
              State : clean 
     Active Devices : 2
    Working Devices : 2
     Failed Devices : 0
      Spare Devices : 0
    
           Rounding : 0K
    
               Name : agartha:2  (local to host agartha)
               UUID : 57d3e44a:10b40824:758be441:11b25465
             Events : 0
    
        Number   Major   Minor   RaidDevice State
           0       8       65        0      active sync   /dev/sde1
           1       8       83        1      active sync   /dev/sdf3
    root@@agartha # mdadm --examine /dev/sde1
    /dev/sde1:
              Magic : a92b4efc
            Version : 1.2
        Feature Map : 0x0
         Array UUID : 57d3e44a:10b40824:758be441:11b25465
               Name : agartha:2  (local to host agartha)
      Creation Time : Fri Mar 19 05:49:45 2021
         Raid Level : linear
       Raid Devices : 2
    
     Avail Dev Size : 2095104 (1023.17 MiB 1072.69 MB)
      Used Dev Size : 0
        Data Offset : 2048 sectors
       Super Offset : 8 sectors
       Unused Space : before=1960 sectors, after=0 sectors
              State : clean
        Device UUID : fc44704e:90201d2e:b9046077:fe56c916
    
        Update Time : Fri Mar 19 05:49:45 2021
      Bad Block Log : 512 entries available at offset 72 sectors
           Checksum : 379c1fdc - correct
             Events : 0
    
           Rounding : 0K
    
       Device Role : Active device 0
       Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
    root@@agartha # mdadm --examine /dev/sdf3
    /dev/sdf3:
              Magic : a92b4efc
            Version : 1.2
        Feature Map : 0x0
         Array UUID : 57d3e44a:10b40824:758be441:11b25465
               Name : agartha:2  (local to host agartha)
      Creation Time : Fri Mar 19 05:49:45 2021
         Raid Level : linear
       Raid Devices : 2
    
     Avail Dev Size : 15619136272 (7447.78 GiB 7997.00 GB)
      Used Dev Size : 0
        Data Offset : 2048 sectors
       Super Offset : 8 sectors
       Unused Space : before=1960 sectors, after=0 sectors
              State : clean
        Device UUID : e8aa91ec:6b14ca43:db393baa:0008eabf
    
        Update Time : Fri Mar 19 05:49:45 2021
      Bad Block Log : 512 entries available at offset 72 sectors
           Checksum : 6a3f82dd - correct
             Events : 0
    
           Rounding : 0K
    
       Device Role : Active device 1
       Array State : AA ('A' == active, '.' == missing, 'R' == replacing)
    root@@agartha # 
    
[/code]


CC BY-SA 4.0
2021-03-15T00:01:05.457
74678
2021-05-14T04:43:21.540
2021-03-23T02:33:53.723
44341
44341
question
linux raid
NASで使っていたHDDからデータを復旧したい


外付けHDDケースに入れた古い(壊れた)NASのHDDをRAIDボリュームとして認識するところまでできました。  
HDDケースにNASのHDD2台をいれたあと、mdadmで強引にRAIDを作成すればいいようです。

[code]

    root@@agartha # mdadm --create /dev/md2 --level=linear --raid-devices=2 --force /dev/sdd3 /dev/sde3
    mdadm: /dev/sdd3 appears to be part of a raid array:
           level=raid1 devices=2 ctime=Sun Mar  7 18:33:37 2021
    mdadm: /dev/sde3 appears to be part of a raid array:
           level=raid1 devices=2 ctime=Wed Mar  3 14:29:56 2021
    Continue creating array? yes
    mdadm: Defaulting to version 1.2 metadata
    mdadm: array /dev/md2 started.
    root@@agartha # 
    
[/code]

これでRAIDボリュームとして認識しました。ファイルなどのデータなどはいじられていないはずなので、マウントできればデータが復旧できると思います

2021年5月14日 追記

市販のファイル／ディスク復旧ソフトを使うことで復旧しました。  
現時点では、ディスクスキャンが100%終了し、試しに一部のデータを復旧させました。

使用したのは、virtualhere( <https://www.virtualhere.com/> ), ReclaiMe (
<https://www.reclaime.com/> )の2つのソフトです。

まず、virtualhereサーバをNASにvirtualhereクライアントをWindowsにインストールします。  
これで、NAS上の外付けUSBのHDDが、Windows上でUSBに繋がっているように見えます。

次にReclaiMeを起動します。ReclaiMeはLinux上のソフトウェアRAID( mdデバイス
)を認識するので、mdデバイスをスキャンして見つかったファイルを復旧します。


CC BY-SA 4.0
2021-03-23T02:32:06.460
74830
2021-05-14T04:43:21.540
2021-05-14T04:43:21.540
44341
44341
74678
answer