破損インスタンスのDiskを新規インスタンスにマウントして必要ファイルを取り出してみてみた

■目的
ハードウェアやOSが破損しシステムが復旧できないことがあります。
その場合は、あらたなインスタンスを新規に構築しバックアップから戻し復元する必要があります。
バックアップしてないものは、Diskが破損していなければ取り出すことができます。
今回は、破損したLinuxインスタンスのLVMのDiskを新規インスタンスにマウントし、必要なファイルを取り出してみてみます。


#■手順
##●新規インスタンスに障害インスタンスのDiskを取り付け
Cloudの場合は次のような感じでDiskを追加
    ・storage画面で障害インスタスのDiskを選択しAttach to Instanceを選択
    ・Attach to Instance項目に新規インスタンスを選択し[Attach]をクリック


##●追加DiskをOS認識

###①旧DiskのLVM VG名変更
・事前確認

```shell-session
[root@DBCS12c-new ]# ls -la /dev/mapper/
    合計 0
    drwxr-xr-x  2 root root     160 10月  6 02:58 2019 .
    drwxr-xr-x 19 root root    3780 10月  6 09:30 2019 ..
    crw-rw----  1 root root 10, 236 10月  6 02:58 2019 control
    lrwxrwxrwx  1 root root       7 10月  6 02:58 2019 dataVolGroup-lvol0 -> ../dm-2
    lrwxrwxrwx  1 root root       7 10月  6 02:58 2019 fraVolGroup-lvol0 -> ../dm-3
    lrwxrwxrwx  1 root root       7 10月  6 02:58 2019 redoVolGroup-lvol0 -> ../dm-4
    lrwxrwxrwx  1 root root       7 10月  6 02:58 2019 vg_main-lv_root -> ../dm-1
    lrwxrwxrwx  1 root root       7 10月  6 02:58 2019 vg_main-lv_swap -> ../dm-0
```

###②追加VGボリュームグループをアクティブできないことを確認
今回は、同じボリュームグループ名のdataVolGroupのDiskでありました
追加VGが既存VGと同じ名前の場合、アクティブにできないため、VG名を変更する必要があります

```shell-session
[root@DBCS12c-new ]# vgchange -ay
  device-mapper: create ioctl on dataVolGroup-lvol0LVM-nvAdkSoCfHs8IcihXrJLs1AYdWrR3ZnAeUIx54NeBycp35yp7rdWPashAZpAPnri failed: デバイスもしくはリソースがビジー状態です
  0 logical volume(s) in volume group "dataVolGroup" now active
  1 logical volume(s) in volume group "dataVolGroup" now active
  1 logical volume(s) in volume group "fraVolGroup" now active
  1 logical volume(s) in volume group "redoVolGroup" now active
  2 logical volume(s) in volume group "vg_main" now active
```


###③UUID確認
ボリュームグループ名はDIskのUUIDを元に変更する必要があるため追加DiskのUUIDを確認
今回は、VG UUIDが　nvAdkS-oCfH-s8Ic-ihXr-JLs1-AYdW-rR3ZnA です

```shell-session
[root@DBCS12c-new ]# vgdisplay
    --- Volume group ---
    VG Name               dataVolGroup
    System ID
    Format                lvm2
    Metadata Areas        1
    Metadata Sequence No  2
    VG Access             read/write
    VG Status             resizable
    MAX LV                0
    Cur LV                1
    Open LV               0
    Max PV                0
    Cur PV                1
    Act PV                1
    VG Size               1.17 TiB
    PE Size               4.00 MiB
    Total PE              307199
    Alloc PE / Size       307199 / 1.17 TiB
    Free  PE / Size       0 / 0
    VG UUID               nvAdkS-oCfH-s8Ic-ihXr-JLs1-AYdW-rR3ZnA

    --- Volume group ---
    VG Name               dataVolGroup
    System ID
    Format                lvm2
    Metadata Areas        1
    Metadata Sequence No  2
    VG Access             read/write
    VG Status             resizable
    MAX LV                0
    Cur LV                1
    Open LV               1
    Max PV                0
    Cur PV                1
    Act PV                1
    VG Size               1.17 TiB
    PE Size               4.00 MiB
    Total PE              307199
    Alloc PE / Size       307199 / 1.17 TiB
    Free  PE / Size       0 / 0
    VG UUID               04l1Pz-4RAy-k3Qm-7D65-ghh5-Hu02-VHsIbN

    --- Volume group ---
    VG Name               fraVolGroup
    System ID
    Format                lvm2
    Metadata Areas        1
    Metadata Sequence No  2
    VG Access             read/write
    VG Status             resizable
    MAX LV                0
    Cur LV                1
    Open LV               1
    Max PV                0
    Cur PV                1
    Act PV                1
    VG Size               120.00 GiB
    PE Size               4.00 MiB
    Total PE              30719
    Alloc PE / Size       30719 / 120.00 GiB
    Free  PE / Size       0 / 0
    VG UUID               jj5tnW-e2Cg-2YTQ-355x-kQMD-PlLV-KOEy8s

    --- Volume group ---
    VG Name               redoVolGroup
    System ID
    Format                lvm2
    Metadata Areas        1
    Metadata Sequence No  2
    VG Access             read/write
    VG Status             resizable
    MAX LV                0
    Cur LV                1
    Open LV               1
    Max PV                0
    Cur PV                1
    Act PV                1
    VG Size               180.00 GiB
    PE Size               4.00 MiB
    Total PE              46079
    Alloc PE / Size       46079 / 180.00 GiB
    Free  PE / Size       0 / 0
    VG UUID               eJCW0v-unU4-jXkc-nigd-VMDB-vfwZ-R0hchl

    --- Volume group ---
    VG Name               vg_main
    System ID
    Format                lvm2
    Metadata Areas        1
    Metadata Sequence No  5
    VG Access             read/write
    VG Status             resizable
    MAX LV                0
    Cur LV                2
    Open LV               2
    Max PV                0
    Cur PV                1
    Act PV                1
    VG Size               29.50 GiB
    PE Size               32.00 MiB
    Total PE              944
    Alloc PE / Size       944 / 29.50 GiB
    Free  PE / Size       0 / 0
    VG UUID               MTocAk-z65M-lCOr-Xjcc-mg3b-Y23f-4D0fzw
```

###④VG名変更
dataVolGroup を data2VolGroupへ変更

```shell-session
[root@DBCS12c-new ]# vgrename nvAdkS-oCfH-s8Ic-ihXr-JLs1-AYdW-rR3ZnA data2VolGroup
    Processing VG dataVolGroup because of matching UUID nvAdkS-oCfH-s8Ic-ihXr-JLs1-AYdW-rR3ZnA
    Volume group "nvAdkS-oCfH-s8Ic-ihXr-JLs1-AYdW-rR3ZnA" successfully renamed to "data2VolGroup"
```


###⑤追加VGアクティブ化

```shell-session
[root@DBCS12c-new ]# vgchange -ay data2VolGroup
  1 logical volume(s) in volume group "data2VolGroup" now active
```

###⑥追加VG認識確認

```shell-session
[root@DBCS12c-new vg_main]# ls -la /dev/mapper/
    合計 0
    drwxr-xr-x  2 root root     180 10月  6 09:48 2019 .
    drwxr-xr-x 20 root root    3820 10月  6 09:48 2019 ..
    crw-rw----  1 root root 10, 236 10月  6 02:58 2019 control
    lrwxrwxrwx  1 root root       7 10月  6 09:48 2019 data2VolGroup-lvol0 -> ../dm-5
    lrwxrwxrwx  1 root root       7 10月  6 02:58 2019 dataVolGroup-lvol0 -> ../dm-2
    lrwxrwxrwx  1 root root       7 10月  6 02:58 2019 fraVolGroup-lvol0 -> ../dm-3
    lrwxrwxrwx  1 root root       7 10月  6 02:58 2019 redoVolGroup-lvol0 -> ../dm-4
    lrwxrwxrwx  1 root root       7 10月  6 02:58 2019 vg_main-lv_root -> ../dm-1
    lrwxrwxrwx  1 root root       7 10月  6 02:58 2019 vg_main-lv_swap -> ../dm-0
```

##●追加VGマウント

###①マウントポイント作成

```shell-session
[root@DBCS12c-new ]# mkdir /old-data
```

###②追加Diskを/old-dataへマウント

```shell-session
[root@DBCS12c-new ]# mount /dev/mapper/data2VolGroup-lvol0 /old-data/
[root@DBCS12c-new ~]$ ls -la /old-data/
    total 8
    drwxr-xr-x   2 root root 4096 Oct  6 03:54 .
    dr-xr-xr-x. 30 root root 4096 Oct  6 09:05 ..
```

###③追加Diskマウント確認

```shell-session
[root@DBCS12c-new ]# df -h
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/mapper/vg_main-lv_root
                        25G   13G   11G  54% /
    tmpfs                  15G     0   15G   0% /dev/shm
    /dev/xvdb1            477M   70M  379M  16% /boot
    /dev/xvde1             59G   11G   46G  19% /u01
    /dev/mapper/dataVolGroup-lvol0
                        1.2T  505G  617G  46% /u02
    /dev/mapper/fraVolGroup-lvol0
                        118G  3.6G  109G   4% /u03
    /dev/mapper/redoVolGroup-lvol0
                        178G  3.2G  165G   2% /u04
    /dev/mapper/data2VolGroup-lvol0
                        1.2T 1006G  116G  90% /old-data
```

###③障害Diskのデータの存在を確認

```shell-session
[oracle@DBCS12c-new ~]$ ls /old-data/app/oracle/oradata/
    ORCL  prod_pdb.xml
```

＼(^o^)／