labunix's blog

labunixのラボUnix

3TBのHDDを初期化する。

■3TBのHDDを初期化する。
 以下でもやったので、今回は何のトラブルもなく追加出来た。

 3TBのデータディスクを増設してみた。
 http://labunix.hateblo.jp/entry/20180705/1530796882

$ lsb_release -d
Description:	Debian GNU/Linux 9.9 (stretch)

■Kernelの認識は3TB

$ sudo dmesg | grep sdb
[  900.311044] sd 6:0:0:0: [sdb] Spinning up disk...
[  906.466775] sd 6:0:0:0: [sdb] 5860533168 512-byte logical blocks: (3.00 TB/2.73 TiB)
[  906.466782] sd 6:0:0:0: [sdb] 4096-byte physical blocks
[  906.467279] sd 6:0:0:0: [sdb] Write Protect is off
[  906.467286] sd 6:0:0:0: [sdb] Mode Sense: 43 00 00 00
[  906.467477] sd 6:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[  906.467726] sd 6:0:0:0: [sdb] Optimal transfer size 33553920 bytes not a multiple of physical block size (4096 bytes)
[  906.477650] sd 6:0:0:0: [sdb] Attached SCSI disk
■今回はTOSHIBA製

$  ls -l /dev/disk/by-id/* | grep sdb\$
lrwxrwxrwx 1 root root  9  726 20:00 /dev/disk/by-id/ata-TOSHIBA_MD04ACA300_35CFK1KEFSDA -> ../../sdb
lrwxrwxrwx 1 root root  9  726 20:00 /dev/disk/by-id/wwn-0x500003962be00f31 -> ../../sdb

$ sudo hdparm -I /dev/sdb | grep size
	Logical  Sector size:                   512 bytes
	Physical Sector size:                  4096 bytes
	device size with M = 1024*1024:     2861588 MBytes
	device size with M = 1000*1000:     3000592 MBytes (3000 GB)
	cache/buffer size  = unknown

$ sudo lsblk /dev/sdb
NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sdb    8:16   0  2.7T  0 disk 

$ sudo fdisk -l /dev/sdb | grep ^Sec
Sector size (logical/physical): 512 bytes / 4096 bytes

$ awk '/major|sdb/' /proc/partitions
major minor  #blocks  name
   8       16 2930266584 sdb

$ awk '/sdb/{print $(NF-1)/1024/1024"GiB"}' /proc/partitions
2794.52GiB

$ echo $(sudo blockdev --getsize64 /dev/sdb) | awk '{print $1/1024/1024/1024"GiB"}'
2794.52GiB

$ sudo smartctl -H /dev/sdb
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-9-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

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

$ sudo smartctl --info /dev/sdb | grep "^User\|^Sector"
User Capacity:    3,000,592,982,016 bytes [3.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical

■あまり性能にはこだわらないのだけど。

$ sudo smartctl -i /dev/sdb | \
    awk -F\: '{if($1=="Serial Number"||$1=="LU WWN Device Id"){printf "%-18sXXXXXX\n",$1":"}else{print}}'
smartctl 6.6 2016-05-31 r4324 [x86_64-linux-4.9.0-9-amd64] (local build)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Toshiba 3.5" MD04ACA... Enterprise HDD
Device Model:     TOSHIBA MD04ACA300
Serial Number:    XXXXXX
LU WWN Device Id: XXXXXX
Firmware Version: FP2A
User Capacity:    3,000,592,982,016 bytes [3.00 TB]
Sector Sizes:     512 bytes logical, 4096 bytes physical
Rotation Rate:    7200 rpm
Form Factor:      3.5 inches
Device is:        In smartctl database [for details use: -P show]
ATA Version is:   ATA8-ACS (minor revision not indicated)
SATA Version is:  SATA 3.0, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Fri Jul 26 20:11:47 2019 JST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
■gptラベルを付与

$ sudo parted /dev/sdb print
Error: /dev/sdb: unrecognised disk label
Model: ASMT 2115 (scsi)                                                   
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: unknown
Disk Flags: 

$ sudo parted /dev/sdb mklabel gpt
Information: You may need to update /etc/fstab.

■「/etc/fstab」からsdbをコメントアウトしないといけないようだ。

$ sudo grep sdb /etc/fstab            
#/dev/sdb1       /media/usb0     auto    rw,user,noauto  0       0
#/dev/sdb2       /media/usb1     auto    rw,user,noauto  0       0

$ sudo parted /dev/sdb mklabel gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? Yes                                                               
Information: You may need to update /etc/fstab.

■「/etc/fstab」からsdbをコメントアウトを解除してフォーマット

$ sudo grep sdb /etc/fstab
/dev/sdb1       /media/usb0     auto    rw,user,noauto  0       0
#/dev/sdb2       /media/usb1     auto    rw,user,noauto  0       0

$ sudo parted /dev/sdb "mkpart primary ext4 65535s 100%"
Warning: You requested a partition from 33.6MB to 3001GB (sectors 65535..5860533167).
The closest location we can manage is 3001GB to 3001GB (sectors 5860532224..5860533134).
Is this still acceptable to you?
Yes/No? Yes                                                               
Information: You may need to update /etc/fstab.

■確認

$ sudo parted /dev/sdb print          
Model: ASMT 2115 (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      33.6MB  3001GB  3001GB               primary

$ sudo fdisk -l /dev/sdb | grep -B 1 ^/
Partition 1 does not start on physical sector boundary.
Device     Start        End    Sectors  Size Type
/dev/sdb1  65535 5860533134 5860467600  2.7T Linux filesystem

$ sudo mkfs /dev/sdb1 | awk -F\: '{if($1=="Filesystem UUID"){printf "%-18sXXXXXX\n",$1":"}else{print}}'
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 732558450 4k blocks and 183140352 inodes
Filesystem UUID:  XXXXXX
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                            
Writing superblocks and filesystem accounting information: done       

■UUIDは後からでも確認出来る。

$ sudo blkid -o list | awk '{gsub("[a-f0-9-]{36}","xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",$NF);print $0}'
device     fs_type label    mount point    UUID

/dev/sda1 ext4 boot /boot xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
/dev/sda2 swap [SWAP] xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
/dev/sda3 ext4 root / xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
/dev/sda4 ext4 var /var xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
/dev/sda5 ext4 home /home xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
/dev/sdb1 ext2 (not mounted) xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

■マウント

$ sudo mount /dev/sdb1 /media/sdb1/

$ sudo blkid -o list | awk '/sdb/{gsub("[a-f0-9-]{36}","xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",$NF);print $0}'
/dev/sdb1 ext2 /media/sdb1 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

$ ls -l /dev/disk/by-uuid | awk '/sdb/{gsub("[a-f0-9-]{36}","xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",$(NF-2));print $0}'
lrwxrwxrwx 1 root root 10 726 20:40 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -> ../../sdb1