[TEBIKI]Linux に新しくディスクを追加する方法

ここでは, Linux の計算機に新しいディスクを追加する方法について述べる.

[計算機とネットワークの手引集へ戻る]

現在のディスクの確認 (1)

  • df コマンドを用いて現在のディスクの状況を確認
$ df -h
  • 実行結果
    • ここに表示されているのが現在接続されているディスク
      • 下の例では一つのディスクが接続されている
        • そのディスクのデバイスファイルは /dev/sda
        • なお, 下で新しいディスクを追加したときにデバイスファイル名が変わることもあるので注意
shiojich@joho14-itpass:~$ df -h
ファイルシス   サイズ  使用  残り 使用% マウント位置
udev             3.9G     0  3.9G    0% /dev
tmpfs            795M   28M  768M    4% /run
/dev/sda2        908G   38G  824G    5% /
tmpfs            3.9G     0  3.9G    0% /dev/shm
tmpfs            5.0M  4.0K  5.0M    1% /run/lock
tmpfs            3.9G     0  3.9G    0% /sys/fs/cgroup
tmpfs            795M   16K  795M    1% /run/user/116
tmpfs            795M     0  795M    0% /run/user/1001
tmpfs            795M  8.0K  795M    1% /run/user/100

現在のディスクの確認 (2)

  • parted コマンドを用いてパーティション情報を確認
$ sudo parted -l
  • 実行結果
shiojich@joho14-itpass:~$ sudo parted -l
[sudo] shiojich のパスワード:
Model: ATA ST1000DM003-9YN1 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system     Flags
2      1049kB  991GB   991GB   primary  ext4            boot
1      991GB   1000GB  8999MB  primary  linux-swap(v1)

接続されている /dev/sda の内容が表示されている.

ディスクの追加

  • 新しく追加するディスクを計算機に繋げる

ディスク追加後のディスクの確認 (1)

  • dmesg コマンドを用いてディスクが認識された様子を確認
$ sudo dmesg
  • 実行結果
    • 新しく追加したディスク (ここでは HDD) は sdb として認識された
shiojich@joho14-itpass:~$ sudo dmesg
[4420533.224356] sd 4:0:0:0: [sdb] Synchronizing SCSI cache
[4420533.463666] sd 4:0:0:0: [sdb] Synchronize Cache(10) failed: Result: hostbyt
e=DID_ERROR driverbyte=DRIVER_OK
[4420539.539442] usb 4-4: new SuperSpeed USB device number 5 using xhci_hcd
[4420539.560400] usb 4-4: New USB device found, idVendor=152d, idProduct=9561
[4420539.560403] usb 4-4: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[4420539.560406] usb 4-4: Product: JMS56x Series
[4420539.560408] usb 4-4: Manufacturer: JMicron
[4420539.560410] usb 4-4: SerialNumber: 00000000000000000000
[4420539.562622] scsi host4: uas
[4420539.563391] scsi 4:0:0:0: Direct-Access     JMicron  Disk RAID1  0105 PQ: 0 ANSI: 6
[4420539.607992] sd 4:0:0:0: Attached scsi generic sg2 type 0
[4420546.112933] sd 4:0:0:0: [sdb] 9767419904 512-byte logical blocks: (5.00 TB/4.55 TiB)
[4420546.113844] sd 4:0:0:0: [sdb] Write Protect is off
[4420546.113848] sd 4:0:0:0: [sdb] Mode Sense: 67 00 10 08
[4420546.114180] sd 4:0:0:0: [sdb] Write cache: enabled, read cache: enabled, supports DPO and FUA
[4420546.340057] sd 4:0:0:0: [sdb] Attached SCSI disk

ディスク追加後のディスクの確認 (2)

  • parted コマンドを用いてパーティション情報を確認
$ sudo parted -l
  • 実行結果
    • 新しく追加した HDD は /dev/sdb と認識された
shiojich@joho14-itpass:~$ sudo parted -l
[sudo] shiojich のパスワード:
Model: ATA ST1000DM003-9YN1 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:

Number  Start   End     Size    Type     File system     Flags
2      1049kB  991GB   991GB   primary  ext4            boot
1      991GB   1000GB  8999MB  primary  linux-swap(v1)

Error: /dev/sdb: unrecognised disk label
Model: JMicron Disk RAID1 (scsi)
Disk /dev/sdb: 5001GB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:

パーティション作成

  • 以下を実行
$ sudo parted /dev/sdb
  • (parted) と表示されるので以下を入力
(parted) mklabel gpt
  • print でパーティション情報が確認できる
(parted) print
Model: JMicron Disk RAID1 (scsi)
Disk /dev/sdb: 5001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start  End  Size  File system  Name  Flags
  • 以下を入力
(parted) unit GB
  • 以下を入力すると下のように順に聞かれるので, 適宜設定
(parted) mkpart
Partition name?  []? raid01_century2hdd
File system type?  [ext2]? ext4
Start? 0
End? 5001
  • print でパーティション情報を確認
(parted) print
Model: JMicron Disk RAID1 (scsi)
Disk /dev/sdb: 5001GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name                Flags
1      0.03GB  5001GB  5001GB  ext4         raid01_century2hdd
  • parted から抜ける
(parted) quit

ファイルシステム作成

  • mkfs コマンドを用いてパーティション上にファイルシステムを作成する
$ sudo mkfs -t ext4 /dev/sdb1
  • 実行結果
mke2fs 1.43.4 (31-Jan-2017)
/dev/sdb1 alignment is offset by 512 bytes.
This may result in very poor performance, (re)-partitioning suggested.
Creating filesystem with 1220917050 4k blocks and 152616960 inodes
Filesystem UUID: 8a1b51ed-3e33-4b6b-b967-763f7ecd6cbb
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
102400000, 214990848, 512000000, 550731776, 644972544

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

マウントポイント作成

  • マウント先のディレクトリを作成
    • ここでは /work01 とした
$ sudo mkdir /work01

マウント

  • mount コマンドを用いて /dev/sdb1 を /work01 にマウント
$ sudo mount /dev/sdb1 /work01/
  • df コマンドを用いてディスクの状況を確認
$ df 
  • 実行結果
    • /dev/sdb1 と表示されているものが追加したディスク
shiojich@joho14-itpass:~$ df
ファイルシス   1K-ブロック     使用     使用可 使用% マウント位置
udev               4055576        0    4055576    0% /dev
tmpfs               813372    27752     785620    4% /run
/dev/sda2        951729780 39329368  863985388    5% /
tmpfs              4066856        0    4066856    0% /dev/shm
tmpfs                 5120        4       5116    1% /run/lock
tmpfs              4066856        0    4066856    0% /sys/fs/cgroup
tmpfs               813368       16     813352    1% /run/user/116
tmpfs               813368        0     813368    0% /run/user/1001
tmpfs               813368        8     813360    1% /run/user/1000
/dev/sdb1       4844115912    90140 4599825980    1% /work01

自動マウントの設定

再起動時に自動でマウントされるように設定する

  • UUID を調べる
$ sudo blkid /dev/sdb1
  • 実行結果
/dev/sdb1: UUID="e7e5e73c-99d9-4fc7-8c5c-75adcf9c8719" TYPE="ext4" PARTLABEL="raid_century_hdd5_8TB_3" PARTUUID="be7ff2f0-7177-4dd4-9b9d-cdccfcb558bd"
  • 実行結果の UUID= の "" 内をコピーする
  • /etc/fstab を編集
$ sudo vi /etc/fstab
  • /etc/fstab の編集手順
    • 既にある行をコピーペースト
      • ここでは / (ルート) パーティションの行をコピーペースト
    • UUID= を先ほどコピーしておいた文字列に変更
    • マウントポイント指定 (ここでは /work01)
    • ファイルシステムの種類を指定 (ここでは ext4)
    • 他はそのまま
  • /etc/fstab 編集前
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=fbbac63c-27e8-4af7-a675-8e5c97ed0368 /               ext4  errors=remount-ro 0       1
# swap was on /dev/sda1 during installation
UUID=5888b7d5-cf64-480a-8a4b-11adcc24c8d6 none            swap    sw
 0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
  • /etc/fstab 編集後
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda2 during installation
UUID=1f3cc37d-9c55-44fa-bb84-f1c82c864ad5 /work01         ext4  errors=remount-ro 0       2
UUID=fbbac63c-27e8-4af7-a675-8e5c97ed0368 /               ext4  errors=remount-ro 0       1
# swap was on /dev/sda1 during installation
UUID=5888b7d5-cf64-480a-8a4b-11adcc24c8d6 none            swap    sw
 0       0
/dev/sr0        /media/cdrom0   udf,iso9660 user,noauto     0       0
Last modified:2020/12/09 16:51:12
Keyword(s):
References:[計算機とネットワークの手引集]