読者です 読者をやめる 読者になる 読者になる

IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

EBSのバックアップリストアの練習

注意というほどでもないですが、下記についてウッカリしないようにします。

  • volumeをdetachするときは、unmountを忘れずに。
  • snapshotからvolumeを作った場合、attache後にdfすると悲しいことになる。snapshotを取っているのでもともとformatされている。


EBSボリュームを作成、アタッチ(dev/sdf)、フォーマット、マウント(/ebstest01)まで行ってからの話です。

適当にファイルを作ります。

[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo touch /ebstest01/foo.txt
[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo vim /ebstest01/foo.txt 
[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo cat  /ebstest01/foo.txt 
aaaa
<||

ここで、マネージメントコンソールよりsnapshotを作成する。

適当にファイル(bar.txt)をつくる。これは復元されないことの確認用のためわざと。

>|sh|
[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo touch /ebstest01/bar.txt
[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo ls -al /ebstest01/
合計 28
drwxr-xr-x  3 root root  4096  34 12:04 2014 .
dr-xr-xr-x 24 root root  4096  34 12:01 2014 ..
-rw-r--r--  1 root root     0  34 12:04 2014 bar.txt
-rw-r--r--  1 root root     5  34 12:02 2014 foo.txt
drwx------  2 root root 16384  34 12:01 2014 lost+found

アンマウントをおこなう。

[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo umount /dev/sdf
[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo ls -al /ebstest01/
合計 8
drwxr-xr-x  2 root root 4096  34 12:01 2014 .
dr-xr-xr-x 24 root root 4096  34 12:01 2014 ..

マネージメントコンソールでデタッチを行う。

[ec2-user@ip-XXX-XX-XX-XX ~]$ df
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/xvda1             8256952   1075292   7097776  14% /
tmpfs                   304144         0    304144   0% /dev/shm

マネージメントコンソールより、snapshotからvolumeを作成し、/dev/sdgにアタッチする。

[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo ls -l /dev/s*
lrwxrwxrwx 1 root root  5  34 11:56 2014 /dev/sda1 -> xvda1
lrwxrwxrwx 1 root root  4  34 12:06 2014 /dev/sdg -> xvdg
lrwxrwxrwx 1 root root 15  34 11:56 2014 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx 1 root root 15  34 11:56 2014 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root 15  34 11:56 2014 /dev/stdout -> /proc/self/fd/1

/dev/shm:
合計 0

以前にマウントしたディレクトリ(/ebstest01)には何もないことを確認する。

[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo ls /
bin  boot  dev	ebstest01  etc	home  lib  lib64  local  lost+found  media  mnt  opt  proc  root  sbin	selinux  srv  sys  tmp	usr  var
[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo ls /ebstest01/
[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo ls -ls /ebstest01/
合計 0
[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo ls -al /ebstest01/
合計 8
drwxr-xr-x  2 root root 4096  34 12:01 2014 .
dr-xr-xr-x 24 root root 4096  34 12:01 2014 ..

別のディレクトリ(/ebstest02)を作り、マウントする。

[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo mkdir /ebstest02/
[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo mount /dev/sdf /ebstest02
mount: ファイルシステムタイプを指定する必要があります
[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo mount /dev/sdg /ebstest02
[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo ls -al /ebstest02
合計 28
drwxr-xr-x  3 root root  4096  34 12:02 2014 .
dr-xr-xr-x 25 root root  4096  34 12:08 2014 ..
-rw-r--r--  1 root root     5  34 12:02 2014 foo.txt
drwx------  2 root root 16384  34 12:01 2014 lost+found

ファイルが存在することの確認。スナップショット後に作成したファイル(bar.txt)は存在しない。

[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo ls -al /ebstest02
合計 28
drwxr-xr-x  3 root root  4096  34 12:02 2014 .
dr-xr-xr-x 26 root root  4096  34 12:11 2014 ..
-rw-r--r--  1 root root     5  34 12:02 2014 foo.txt
drwx------  2 root root 16384  34 12:01 2014 lost+found
[ec2-user@ip-XXX-XX-XX-XX ~]$ 
[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo cat /ebstest02/foo.txt 
aaaa

ここで、マネージメントコンソールに戻り、再度snapshotからvolumeを作り、別の場所(gではなくh)にアタッチする。

[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo ls -l /dev/s*
lrwxrwxrwx 1 root root  5  34 11:56 2014 /dev/sda1 -> xvda1
lrwxrwxrwx 1 root root  4  34 12:06 2014 /dev/sdg -> xvdg
lrwxrwxrwx 1 root root  4  34 12:10 2014 /dev/sdh -> xvdh
lrwxrwxrwx 1 root root 15  34 11:56 2014 /dev/stderr -> /proc/self/fd/2
lrwxrwxrwx 1 root root 15  34 11:56 2014 /dev/stdin -> /proc/self/fd/0
lrwxrwxrwx 1 root root 15  34 11:56 2014 /dev/stdout -> /proc/self/fd/1

/dev/shm:
合計 0

別の場所(ebstest03)にマウントし、最初に復元した場所(ebstest02)と情報が同じであることを確認する。

[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo mount /dev/sdh /ebstest03
mount: マウントポイント /ebstest03 が存在しません
[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo mkdir /ebstest03
[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo mount /dev/sdh /ebstest03
[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo ls -al /ebstest03
合計 28
drwxr-xr-x  3 root root  4096  34 12:02 2014 .
dr-xr-xr-x 26 root root  4096  34 12:11 2014 ..
-rw-r--r--  1 root root     5  34 12:02 2014 foo.txt
drwx------  2 root root 16384  34 12:01 2014 lost+found
[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo ls -al /ebstest03/foo.txt 
-rw-r--r-- 1 root root 5  34 12:02 2014 /ebstest03/foo.txt
[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo cat /ebstest03/foo.txt 
aaaa
[ec2-user@ip-XXX-XX-XX-XX ~]$ sudo diff /ebstest02/foo.txt /ebstest03/foo.txt 
[ec2-user@ip-XXX-XX-XX-XX ~]$ df
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/xvda1             8256952   1075320   7097748  14% /
tmpfs                   304144         0    304144   0% /dev/shm
/dev/xvdg              1032088     34056    945604   4% /ebstest02
/dev/xvdh              1032088     34056    945604   4% /ebstest03
[ec2-user@ip-XXX-XX-XX-XX ~]$