Linux 追加SSD 設定方法 簡単

Linux PCでSSDを追加する為の、ディスク確認〜パーティション作成〜フォーマット〜UUID確認〜自動マウント設定方法を記しておきます。

ディスク確認

  • 実際に追加のSSDを取り付けてPCを起動したら、取り付けたディスクの確認をします。
  • SSDの場合、以下の2つで表示されるのでそれらを探します。
    • /dev/sda
      • SATA接続の追加したSSDです。
      • SATA接続のSSDが複数あれば、/dev/sda1, /dev/sda2等が表示されます。 またPCによっては/dev/sdcとかになるものもあるので、メーカ名や容量を要確認です。
      • 今回はこれを設定します。(下の表示は既に設定後なのでext4と表示されます)
    • /dev/nvme0n1
      • 最近の高速のPCIe接続(NVMe)のSSDです。 
      • 0はNVMeに搭載されたSSDの1つ目を指します。
      • 2つ目がある場合は、/dev/nvme1n1と表示されると思います。
      • 以下の例では、Numberに1,2のパーティションがあり、1がブート用です。
  • partedが使えなければ、fdiskでも確認できます。
$ sudo parted -l
Model: ATA Patriot P210 204 (scsi)
Disk /dev/sda: 2048GB                       //<-------これが追加したSSDなのでこれを設定します。
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags: 

Number  Start  End     Size    File system  Flags
 1      0.00B  2048GB  2048GB  ext4


Model: Hanye HE70-2TBNHS1 (nvme)
Disk /dev/nvme0n1: 2048GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                  Flags
 1      1049kB  538MB   537MB   fat32        EFI System Partition  boot, esp
 2      538MB   2048GB  2048GB  ext4

*********************或いはfdiskを使う**************************************************

$ sudo fdisk -l

Disk /dev/loop0: 4 KiB, 4096 bytes, 8 sectors     //<---この様にDisk /dev/loopは無視します。
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
              :
              :
Disk /dev/nvme0n1: 1.88 TiB, 2048408248320 bytes, 4000797360 sectors   //<---私のブート(起動)ディスク
Disk model: Hanye HE70-2TBNHS1                      
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 4CE02296-7710-4E6E-9298-F85D2AF0A71B
              :
              :
Disk /dev/sda: 1.88 TiB, 2048408248320 bytes, 4000797360 sectors          //<---これが追加したSSDディスク
Disk model: Patriot P210 204
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
              :
              :

パーティション作成

追加したSSD(今回の場合は、/dev/sda)にfdiskでパーティションを作成します。 /dev/sdaの部分は、それぞれの設定で異なる場合があるので絶対に間違えないように注意が必要です。 間違えるとそのディスク全ての情報が消去され復元できなくなります

私の場合、/dev/sdaでしたが、コピペするとディスクを消去する危険があるので、ディスク書き込みの場合は以下から/dev/sdXXとして進めますので、あなたのデバイス名に読み替えてください。 情報読み出しの場合は/dev/sdaのままにしています。

$ sudo fdisk /dev/sdXX

フォーマット

Linuxの通常のファイル用のファイルシステムはext4なので、ext4を指定してフォーマットします。

$ sudo mkfs.ext4 /dev/sdXX

UUID確認

自動マウントにはUUID(Universal Unique Identifier)が必要なのでUUIDを調べます。(正確には、衝突確率は、約3*10^-35%) blkid(block ID)を使います。

$ sudo blkid /dev/sda

/dev/sdXX: UUID="c6702d24-ecb7-48dc-92ef-3186b7fa71c0" TYPE="ext4"

もしパーティションがブートもある場合は、データ用のext4のパーティションを指定してblkidを実行しないとUUIDは表示されない。 私の場合、/dev/nvme0n1がブートとデータ用の2つのパーティションを持つディスクでした。 下の例では、p2(第2パーティションを指定しないとUUIDは表示されていません。

$ sudo blkid /dev/nvme0n1
/dev/nvme0n1: PTUUID="4ce02296-7710-4e6e-9298-f85d2af0a71b" PTTYPE="gpt"  //<---UUIDが表示されない。

$ sudo blkid /dev/nvme0n1p2
/dev/nvme0n1p2: UUID="e1fe3005-95ac-452b-8e66-e0e416c10ea5" TYPE="ext4" PARTUUID="5248ba1e-6209-468f-84c3-3fe0f43f6312"

マウント用ディレクトリ作成

私の場合は、以下の様に作成。

$ sudo mkdir  ~/ssd2

/etc/fstabに追加

UUID=c6702d24-ecb7-48dc-92ef-3186b7fa71c0 /home/ichiri/ssd2 ext4 discard,defaults 0 2』を追加します。 行の先頭が#の部分はコメントです。

# /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/nvme0n1p2 during installation
UUID=e1fe3005-95ac-452b-8e66-e0e416c10ea5 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=70B7-D473  /boot/efi       vfat    umask=0077      0       1
/swapfile                                 none            swap    sw              0       0
# /home/ichiri/ssd2 is on /dev/sda
UUID=c6702d24-ecb7-48dc-92ef-3186b7fa71c0 /home/ichiri/ssd2 ext4 discard,defaults 0 2 

ここまで出来たら、再起動をしたら~/ssd2にSSDが追加されています。

~/ssd2にマウントされていますね。

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev             32G     0   32G   0% /dev
tmpfs           6.3G  2.5M  6.3G   1% /run
/dev/nvme0n1p2  1.9T  389G  1.4T  22% /          // 1つめのSSDはルートファイルシステムとしてマウントされています。
tmpfs            32G  224M   32G   1% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
              :
              :
/dev/nvme0n1p1  511M  6.1M  505M   2% /boot/efi
/dev/sda        1.9T  4.8G  1.8T   1% /home/ichiri/ssd2   //<--------2つ目のSSDはここにマウントされました。
tmpfs           6.3G   52K  6.3G   1% /run/user/1000

(参考)特定のディスク確認

SATA接続の場合

$ sudo hdparm -I /dev/sda$ sudo parted -l


/dev/sda:

ATA device, with non-removable media
	Model Number:       Patriot P210 2048GB                     
	Serial Number:      P210ADCB2303080081  
	Firmware Revision:  H220916a
	Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
Standards:
	Supported: 11 9 8 7 6 5 
	Likely used: 11
Configuration:
	Logical		max	current
	cylinders	16383	16383
	heads		16	16
	sectors/track	63	63
	--
	CHS current addressable sectors:    16514064
	LBA    user addressable sectors:   268435455
	LBA48  user addressable sectors:  4000797360
	Logical  Sector size:                   512 bytes
	Physical Sector size:                   512 bytes
	Logical Sector-0 offset:                  0 bytes
	device size with M = 1024*1024:     1953514 MBytes
	device size with M = 1000*1000:     2048408 MBytes (2048 GB)
	cache/buffer size  = unknown
	Form Factor: 2.5 inch
	Nominal Media Rotation Rate: Solid State Device
Capabilities:
	LBA, IORDY(can be disabled)
	Queue depth: 32
	Standby timer values: spec'd by Standard, no device specific minimum
	R/W multiple sector transfer: Max = 1	Current = 1
	DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6 
	     Cycle time: min=120ns recommended=120ns
	PIO: pio0 pio1 pio2 pio3 pio4 
	     Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
	Enabled	Supported:
	   *	SMART feature set
	    	Security Mode feature set
	   *	Power Management feature set
	   *	Write cache
	   *	Look-ahead
	   *	WRITE_BUFFER command
	   *	READ_BUFFER command
	   *	NOP cmd
	   *	DOWNLOAD_MICROCODE
	   *	48-bit Address feature set
	   *	Mandatory FLUSH_CACHE
	   *	FLUSH_CACHE_EXT
	   *	SMART error logging
	   *	SMART self-test
	   *	General Purpose Logging feature set
	   *	WRITE_{DMA|MULTIPLE}_FUA_EXT
	   *	64-bit World wide name
	   *	WRITE_UNCORRECTABLE_EXT command
	   *	{READ,WRITE}_DMA_EXT_GPL commands
	   *	Segmented DOWNLOAD_MICROCODE
	   *	Gen1 signaling speed (1.5Gb/s)
	   *	Gen2 signaling speed (3.0Gb/s)
	   *	Gen3 signaling speed (6.0Gb/s)
	   *	Native Command Queueing (NCQ)
	   *	Phy event counters
	   *	READ_LOG_DMA_EXT equivalent to READ_LOG_EXT
	   *	DMA Setup Auto-Activate optimization
	   *	Software settings preservation$ sudo parted -l
Model: ATA Patriot P210 204 (scsi)
Disk /dev/sda: 2048GB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Disk Flags: 

Number  Start  End     Size    File system  Flags
 1      0.00B  2048GB  2048GB  ext4


Model: Hanye HE70-2TBNHS1 (nvme)
Disk /dev/nvme0n1: 2048GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name                  Flags
 1      1049kB  538MB   537MB   fat32        EFI System Partition  boot, esp
 2      538MB   2048GB  2048GB  ext4

	   *	SMART Command Transport (SCT) feature set
	   *	SCT Features Control (AC4)
	   *	SCT Data Tables (AC5)
	   *	DOWNLOAD MICROCODE DMA command
	   *	WRITE BUFFER DMA command
	   *	READ BUFFER DMA command
	   *	Data Set Management TRIM supported (limit 8 blocks)
	   *	Deterministic read ZEROs after TRIM
Security: 
	Master password revision code = 65534
		supported
	not	enabled
	not	locked
		frozen
	not	expired: security count
		supported: enhanced erase
	2min for SECURITY ERASE UNIT. 2min for ENHANCED SECURITY ERASE UNIT.
Logical Unit WWN Device Identifier: 5000000000002b6f
	NAA		: 5
	IEEE OUI	: 000000
	Unique ID	: 000002b6f
Checksum: correct

NVMe接続の場合

smartctlを使います。 uBuntuには標準でインストールされていないのでインストールします。

$ sudo apt install smartmontools    //<----uBuntu, Debian系の場合

$ sudo yum install smartmontools    //<--CentOS, RedHut系の場合

/dev/nvme0でも/dev/nvme0n1でも同じ情報が表示されます。 何と1ヶ月ちょっとで2.43TB書き込んでいますね。 RAMメモリが潤沢にありswapを使っていないので、全てLinuxビルドで毎回結構名量をSSDに書き込んでいるのですね。 TBW(TeraBytes Written) 1500TBなので、それが本当ならこの調子で続けても51年は持つ計算ですね。

$ sudo smartctl -a /dev/nvme0
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.15.0-76-generic] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       Hanye HE70-2TBNHS1
Serial Number:                      0900HE7007D01AE7
Firmware Version:                   HA02010B
PCI Vendor/Subsystem ID:            0x1e4b
IEEE OUI Identifier:                0x000000
Total NVM Capacity:                 2,048,408,248,320 [2.04 TB]
Unallocated NVM Capacity:           0
Controller ID:                      0
Number of Namespaces:               1
Namespace 1 Size/Capacity:          2,048,408,248,320 [2.04 TB]
Namespace 1 Formatted LBA Size:     512
Namespace 1 IEEE EUI-64:            000000 0000000002
Local Time is:                      Mon Jul  3 10:54:20 2023 JST
Firmware Updates (0x16):            3 Slots, no Reset required
Optional Admin Commands (0x0017):   Security Format Frmw_DL Self_Test
Optional NVM Commands (0x001f):     Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat
Maximum Data Transfer Size:         128 Pages
Warning  Comp. Temp. Threshold:     90 Celsius
Critical Comp. Temp. Threshold:     95 Celsius

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     6.50W       -        -    0  0  0  0        0       0
 1 +     5.80W       -        -    1  1  1  1        0       0
 2 +     3.60W       -        -    2  2  2  2        0       0
 3 -   0.0500W       -        -    3  3  3  3     5000   10000
 4 -   0.0025W       -        -    4  4  4  4     8000   45000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         0

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        43 Celsius
Available Spare:                    100%
Available Spare Threshold:          1%
Percentage Used:                    0%
Data Units Read:                    1,453,257 [744 GB]
Data Units Written:                 4,755,477 [2.43 TB]
Host Read Commands:                 14,264,357
Host Write Commands:                24,837,964
Controller Busy Time:               25
Power Cycles:                       48
Power On Hours:                     358
Unsafe Shutdowns:                   6
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               43 Celsius
Temperature Sensor 2:               30 Celsius

Error Information (NVMe Log 0x01, max 64 entries)
No Errors Logged

(参考)パーティションを複数作成

個人的にはGpartedソフトを使うのが簡単と思います。 GUIで間違えにくい。

CLIなら

$ sudo parted /dev/sdXX    //<---これで対話式になります。
(parted) mkpart
Partition name?  []? ssd2
File system type?  [ext2]? ext4
Start? 0%
End? 20%
(parted) mkpart
Partition name?  []? ssd3
File system type?  [ext2]? ext4
Start? 20%
End? 100%

(parted) p       //<-----------確認
(parted) mkpart  //<-----------終了

//各パ-ティションをフォーマット
$ sudo parted -l    //<-----------まず/dev/ディスク名確認

$ sudo mkfs.ext4 /dev/sdXX2
$ sudo mkfs.ext4 /dev/sdXX3

コメント