仮想サーバを使っていたら /dev/vda1 がいっぱいになって docker の書き込みに失敗してしまいました。
この辺よくわかってないので、調べたことをここにメモします。
名前のルール(命名規則)
Linuxでは、ディスクドライブに特定のルールに沿った名前を付けます。
「vd」と「sd」などの接頭辞(タイプ)
- vd (Virtio Disk): KVMやQEMUなどの仮想化環境で使われる「仮想ディスク」を指します。物理マシンではなく、クラウド(AWS, GCP, クラウドVPSなど)でよく見かける形式です。
- sd (SCSI Disk): 一般的な物理サーバーやPC(SATA接続のHDD/SSD、USBメモリなど)で使われる形式です。
「a」や「b」のアルファベット(順番)
- vda: システムが最初に認識した1番目の仮想ディスク。
- vdb: システムが次に認識した2番目の仮想ディスク。
「1」などの数字(パーティション)
ディスクの中を区切った「部屋(パーティション)」の番号です。vda1 は「1番目のディスクの、1番目の区画」という意味になります。
具体的な違いの比較
| 項目 | /dev/vda1 | /dev/vdb1 |
| ディスクの順序 | 1番目のディスク (a) | 2番目のディスク (b) |
| 役割(一般的) | OS(ルートディレクトリ)が入っていることが多い | データ保存用の追加ディスクであることが多い |
| 物理的な意味 | 仮想マシンに割り当てられた最初のストレージ | 後から追加した2枚目のストレージ |
サーバで中身を確認する方法
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS loop0 7:0 0 105M 1 loop /snap/core/17272 loop1 7:1 0 63.8M 1 loop /snap/core20/2682 loop2 7:2 0 63.8M 1 loop /snap/core20/2686 loop3 7:3 0 73.9M 1 loop /snap/core22/2216 loop4 7:4 0 46M 1 loop /snap/crystal/2906 loop5 7:5 0 46M 1 loop /snap/crystal/2924 loop6 7:6 0 91.4M 1 loop /snap/lxd/36558 loop7 7:7 0 91.4M 1 loop /snap/lxd/36918 loop8 7:8 0 50.9M 1 loop /snap/snapd/25577 loop9 7:9 0 48.1M 1 loop /snap/snapd/25935 vda 252:0 0 30G 0 disk ├─vda1 252:1 0 29.9G 0 part / ├─vda14 252:14 0 4M 0 part └─vda15 252:15 0 106M 0 part /boot/efi vdb 252:16 0 200G 0 disk └─vdb1 252:17 0 200G 0 part /data