IBM Cloud の 仮想サーバーに 追加ストレージ（ポータルブル・ストレージ）をマウントする


IBM Cloud  で 仮想サーバー（VSI）を注文した際、オプションで選んだ追加ストレージ（ポータブル・ストレージ）をマウントする必要があったので、方法をまとめました。

#0.前提事項
- Redhat EL 7.0-64 を前提に記載しています。
- SSHはMacのデフォルトのターミナルを使用しています。

#1. IBM Cloud の 仮想サーバー（VSI）にSSHで接続する
#####1-1. SSHで接続しますのでIPアドレスとrootのパスワードを確認します。
IBM Cloud ダッシュボードページで「デバイス」をクリックします。
![1.ダッシュボード.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/c1990485-1e6a-1670-49dc-60bb553099cc.png)

該当のデバイスをクリックします。
![2.ダッシュボード.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/f863b80e-28b2-3119-992f-bdb39e8e1440.png)

パブリックのIPアドレスを確認します。
![3.ダッシュボード.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/6d579a9c-cad6-a8ac-2a7e-d53b247d8600.png)

パスワードは以下のページで確認ができます。
左側のメニューから①「パスワード」をクリックします。②をクリックしてパスワードを表示します。
![4.ダッシュボード.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/451f2c10-1204-8b2c-7c00-3e906cf1fd08.png)


#####1-2. SSHで接続します。
Macのターミナルを開き、以下のコマンドで接続します。(xxx.xxx.xxx.xxxはIPアドレスに置き換えてください）

```ssh root@xxx.xxx.xxx.xxx -p22```

初めて接続する場合は、以下が表示されます。yesとタイプしてください。

```terminal:
The authenticity of host 'xxx.xxx.xxx.xxx (xxx.xxx.xxx.xxx)' can't be established.
ECDSA key fingerprint is SHA256:Ar9GQ5lB0f4xY//PTlc1BBbIi/WEVkE2/HSRy+Ie8Rk.
Are you sure you want to continue connecting (yes/no)?
```

rootのパスワードを入力してログインします。

```terminal:
root@xxx.xxx.xxx.xxx's password: 
Last login: Fri Jul 26 07:27:44 2019 from xxxxxxxxxxxxxxxx
[root@xxxxxx ~]# 
```


#2. IBM Cloud の ポータブル・ストレージをマウントする

#####2-1.追加ストレージ（ポータブル・ストレージ）をマウントします。
ターミナル上で以下のコマンドを実行します。
```lsblk```

```terminal:
[root@xxxxxx ~]# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  100G  0 disk 
├─xvda1 202:1    0    1G  0 part /boot
└─xvda2 202:2    0   99G  0 part /
xvdb    202:16   0    2G  0 disk 
└─xvdb1 202:17   0    2G  0 part [SWAP]
xvdc    202:32   0  200G  0 disk 
xvdh    202:112  0   64M  0 disk 
[root@xxxxxx ~]# 
```

```xvdc    202:32   0  200G  0 disk```  というのがポータブル・ストレージになります。

以下のコマンドを実行し、ファイル・システムを作成します。
```mkfs.ext4 /dev/xvdc```

```terminal:
[root@xxxxxx ~]# mkfs.ext4 /dev/xvdc
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
13107200 inodes, 52428800 blocks
2621440 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2199912448
1600 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872


Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done 
```

以下のコマンドを実行し、/mntにマウントします。その後dfで確認します。
```mount -t ext4 /dev/xvdc /mnt```

```terminal
[root@xxxxxx ~]# mount -t ext4 /dev/xvdc /mnt
[root@xxxxxx ~]# df
ファイルシス   1K-ブロック    使用    使用可 使用% マウント位置
/dev/xvda2       102048096 1268776  95588920    2% /
devtmpfs           1926360       0   1926360    0% /dev
tmpfs              1937388       0   1937388    0% /dev/shm
tmpfs              1937388   25156   1912232    2% /run
tmpfs              1937388       0   1937388    0% /sys/fs/cgroup
/dev/xvda1          999320  131852    815040   14% /boot
tmpfs               387480       0    387480    0% /run/user/0
/dev/xvdc        206292968   61464 195729360    1% /mnt
```
/dev/xvdc の マウント位置が/mnt と表示されれば成功です。

参考URL：[SoftLayer_JPN Wiki](https://www.ibm.com/developerworks/community/wikis/home?lang=es#!/wiki/W2e55790226f1_47d0_a63b_84202b05783a/page/1.6.2%20%E3%83%9D%E3%83%BC%E3%82%BF%E3%83%96%E3%83%AB%E3%83%BB%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8%E3%82%92%E6%8E%A5%E7%B6%9A%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF%EF%BC%9F)


#####2-2.OSを再起動した後もmountを維持するためにfstabファイルに設定を記載します。
fstabファイルを編集で開きます。
```vi /etc/fstab```

 以下を追加して保存して抜けます。
```/dev/xvdc /mnt ext4 defaults 0 0```

```terminal
#
# /etc/fstab
# Created by anaconda on Thu Apr 18 17:37:40 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=a3c2d55c-22e6-49b6-900e-8e607015a5cb /                       ext3    defaults,noatime        1 1
UUID=a7a4c607-599a-4516-a5c1-8a7b82cf1367 /boot                   ext3    defaults,noatime        1 2
LABEL=SWAP-xvdb1 swap swap    defaults        0 0
/dev/xvdc /mnt ext4 defaults 0 0
~                                     
```

（参考）それぞれのフィールドについて
![6,マウント.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/6cf6341a-09d6-6c62-1030-959c4e93bcc5.png)
左から
- 第1フィールドはマウントしたいファイルシステムを記載します。
- 第2フィールドはマウント位置を記載します。
- 第3フィールドはファイルシステムのタイプ（mkfs.ext4で作成したのでext4）を記載します。
- 第4フィールドはマウントのオプションです。デフォルトでマウントする場合はdefaultsを記載します。
- 第5フィールドはファイルシステムを dump コマンドがダンプする必要があるかを記載します。1が必要、0が不要、記述がない場合は不要となります。
- 第6フィールドはfsckがブート時にファイルシステムのチェックを実行する順番を記載します。ルートファイルシステムは1、それ以外のパーティションは2と記載します。 0の場合は、fsckによるチェックが不要の場合です。 

参考URL:[kazmax - Linuxで自宅サーバー](https://kazmax.zpp.jp/linux_beginner/mount_hdd.html#ah_4)

#####2-2.OS再起動してマウントが解除されないか確認します。

以下のコマンドを実行して再起動します。

```terminal
[root@xxxxxx ~]# reboot
Connection to xxx.xxx.xxx.xxx closed by remote host.
Connection to xxx.xxx.xxx.xxx closed.
```
少し待ってから再度SSHで接続し、dfコマンドでマウント状態を確認します。

```terminal
[root@xxxxxx ~]# df
ファイルシス   1K-ブロック    使用    使用可 使用% マウント位置
/dev/xvda2       102048096 1268188  95589508    2% /
devtmpfs           1926360       0   1926360    0% /dev
tmpfs              1937388       0   1937388    0% /dev/shm
tmpfs              1937388    8744   1928644    1% /run
tmpfs              1937388       0   1937388    0% /sys/fs/cgroup
/dev/xvdc        206292968   61464 195729360    1% /mnt
/dev/xvda1          999320  131852    815040   14% /boot
tmpfs               387480       0    387480    0% /run/user/0
[root@xxxxxx ~]# 
```

以上、追加ストレージ（ポータルブ・ストレージ）をマウントする方法についてでした。
:smiley_cat: :smiley_cat: