低コストで高パフォーマンスなディスク Linode Volumes とは

# Linodeとは

Linodeについてはこちらを参照。

https://qiita.com/isss802/items/5313c7a6da1d9ed50a38

# Linode Volumesとは


<img width="700" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/687e8276-14eb-f446-67e6-a5534dd01d02.png">


Linode Volumesとは、LinodeのインスタンスにアタッチできるNVMeブロックストレージにです。
NVMeは、次世代のSSDハードウェアインターフェースです。従来のハードディスクドライブに比べて、スループットが10～20倍、IOPSが最大2000倍に向上するなど、性能面で大幅な改善を見込めます。

Linode Volumesには以下の特徴があります。

- ボリュームサイズ：10GB～10TB
- IOPS：最大8,000（バースト12,000）
- スループット：最大350MB/s（バースト525MB/s）
- 1つのコンピュートインスタンスに最大8つのボリュームをアタッチ可能
- ホットスワップ対応
- データの可用性を高めるため、データレプリケーションが組まれている
- 低コストなNVMe

実際のベンチマークでも高いIOPSの性能となっており、レポートは以下から確認することができます。

<img width="700" alt="image.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/b8c1c593-3086-6774-3f32-8ac73968dd64.png">

https://www.linode.com/content/cloud-block-storage-benchmarks/

高速なディスクですが低コストで運用することができます。
価格の詳細については、以下から確認することができます。

https://www.linode.com/pricing/#block-storage


## Volumesの追加

実際にディスクの追加を行います。

メニューからVolumensを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/c8494302-a796-2fa2-524c-5e0de9b92a60.png)

希望するサイズやリージョンを選択し、ボリュームを作成します。

- Label：ディスクの名前
- Size：作成するディスクサイズ
- Region：作成するリージョン
- Linode : 付与するインスタンス先

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/e725194f-5df5-32e5-a362-6c92a96a44f6.png)

ボリュームを作成するとサーバー内で実行するコマンドが表示されます。
今回のOSはUbuntuとなっており、適したOSのコマンドとなっています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/f3fd2c92-cb1e-7dee-589f-c78dad34f9d0.png)

表示されているコマンドをサーバーで実行し、ディスクをアタッチします。

```
# ファイルシステムを作成します
mkfs.ext4 "/dev/disk/by-id/scsi-0Linode_Volume_test"

# アタッチするディレクトリを作成します
mkdir "/mnt/test"

# 作成したファイルシステムをマウントします
mount "/dev/disk/by-id/scsi-0Linode_Volume_test" "/mnt/test"
```

ディスクが付与されていることを確認します。

```
root@localhost:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdc         20G   24K   19G   1% /mnt/test
```

サーバー再起動時に自動的にマウントされるようにfstabに設定を記載します。

```
vim /etc/fstab

/dev/disk/by-id/scsi-0Linode_Volume_test /mnt/test ext4 defaults,noatime,nofail 0 2
```

以上で、ディスクのアタッチは完了です。

## Volumesの拡張

追加したボリュームは拡張していくことが可能です。

作成したボリュームのメニューからResizeを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/ce1ce66c-fe0b-db0e-fddb-1820f8b15ff2.png)

拡張したいディスクサイズを入力し、変更を適用します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/82e9e6cd-4f62-9088-249e-d78f984f3549.png)

ディスクサイズを変更するためのコマンドが表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/49877/21341c74-22f3-a1c2-061b-9e4f48a35349.png)

ディスク容量を反映させるためには、サーバーを再起動する必要があります。
再起動後にマウントされているディスクをアンマウントします。

```
umount /dev/disk/by-id/scsi-0Linode_Volume_test
```

ファイルシステムの整合性をチェックします。

```
e2fsck -f /dev/disk/by-id/scsi-0Linode_Volume_test
```

ボリュームのリサイズを行います。

```
resize2fs /dev/disk/by-id/scsi-0Linode_Volume_test
```

ディスクをマウントします。

```
mount /dev/disk/by-id/scsi-0Linode_Volume_test /mnt/test
```

ディスクが拡張されていることを確認します。

```
root@localhost:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdc         40G   24K   38G   1% /mnt/test
```

# まとめ

Linode VolumesはNVMeブロックストレージでありながら、低コストで高パフォーマンスなディスクになります。
拡張性にも優れているため、高いIOPSを必要とするサービスなど様々なユースケースでの利用を検討することができます。

## 関連記事

アカマイ・テクノロジーズ合同会社のQiitaではLinode関連など開発者向けの記事を記載しております。

https://qiita.com/organizations/Akamai