MENU

溶けかけてるうさぎ HP BLOG TOP RECENT ARTICLES POPULAR ARTICLES ABOUT THIS BLOG

CATEGORY

大学 (85) 航空宇宙 (55) 写真 (25) 旅行 (14) 飯・酒 (11) コンピュータ (88) その他 (13)

TAG

ARCHIVE

2018 (92) 2017 (80) 2016 (0)

RECENT

【駅メモ】4年目に突入して,ようやく3000駅突破 【WebRTC】Raspberry Pi搭載ロボットをWebRTCで遠隔操作しようとして失敗した 【航空宇宙】航空宇宙アドベントカレンダー 始まります! 【Perl】YAPC::Tokyo 2019 のチケットを確保しました! 【カメラ】Canonから富士フイルムに乗り換えました

【Ubuntu】2TB超のHDDを増設し,SambaでWindowsとファイル共有

2018-01-06

自宅サーバーに4TBのHDDを1台増設した.

マザーボードのSATAポートが余っていないため,ちょっと面倒なことになった.

 

さらにfdiskがGPTに対応していないことも知り,ちょっとどころじゃなく面倒なことになった.

 

HDDを増設して,SambaでLAN内のWindows PCからファイル共有できるようにするまでの備忘録.

(SMBに対応しているアプリを使えば,Androidでも共有可能)

1.動作環境

Ubuntu Server 16.04.2 LTS

Microsoft Windows 10 Home (64bit)

2.ハードウェア

Praxis 1802(PCケース)

N3050B-ITX(マザーボード)

WD40EZRZ-RT2 (HDD)

OWL-PCSPS3U3U2 (SATA→USB3.0)

 

OWL-PCSPS3U3U2のサポートがWindowsだけなのが少し不安.

3.方針

HDDを増設したいが,マザーボードのSATAポートが余っていない.

そこで4つの方針を考えた.

① 外付けHDDをPCケース外部に設置

まず思いつくのがこれ.

外付けHDDを普通にUSB接続する方法.

 

エレガントじゃないので却下.

② SATA - マザーボードUSBコネクタ変換

エレガントな方法(?)

HDDのSATA端子をUSBコネクタに変換し,マザーボードに直接接続する方法.

 

ぱっとみできそうなのだが,SATA - USBコネクタ変換器を探しても見つからなかった.

 

SATA - USBはプロトコルが違うためコントローラが必須である.そのために変換に外部電源が入りそうなのが原因?

誰か商品化してください....

③ 外付けHDDをPCケース内部に設置

外付けHDDをPCケース内部に設置し,ケーブル・電源を外に出す.

よさそうだが,排熱の問題と,PCケースを動かしたときにHDDが動いてしまうのが不安.

④ PCケースに設置したHDDをUSB A端子に変換して接続

HDDをPCケースに正規の方法で設置.

そしてSATA - USB A端子に変換してケーブル・電源を外に出す方法.

 

HDDはPCケースに固定されるので安全.

しかし,PCケースからケーブルともう1つの電源コードがでているのがいまいち.

 

これでいくことにした.

4.HDDの取り付け・接続作業

PCケースに正規の方法でHDDを取り付け,そこにSATA - USB変換コネクタを接続.

 

ビデオカード用の穴からコードを出し,USBは背面ポートへ接続,電源はコンセントに接続した.

5.HDDの認識・フォーマット

増設HDD接続前の状況

もともとsdaとsdbの2台がすでにマウントされている.

$ sudo fdisk -l
Disk /dev/sda: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x5ae2699a

デバイス   起動      Start 最後から  セクタ  Size Id タイプ
/dev/sda1  *          2048 3899713535 3899711488  1.8T 83 Linux
/dev/sda2       3899715582 3907028991    7313410  3.5G  5 拡張領域
/dev/sda5       3899715584 3907028991    7313408  3.5G 82 Linux スワップ / Solaris

Partition 2 does not start on physical sector boundary.


Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x0e77186b

デバイス   起動 Start 最後から  セクタ  Size Id タイプ
/dev/sdb1        2048 3907029167 3907027120  1.8T 83 Linux

$ sudo parted -l
モデル: ATA TOSHIBA DT01ACA2 (scsi)
ディスク /dev/sda: 2000GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
ディスクフラグ:

番号  開始    終了    サイズ  タイプ    ファイルシステム  フラグ
 1    1049kB  1997GB  1997GB  primary   ext4              boot
 2    1997GB  2000GB  3744MB  extended
 5    1997GB  2000GB  3744MB  logical   linux-swap(v1)


モデル: ATA ST2000DM001-1ER1 (scsi)
ディスク /dev/sdb: 2000GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
ディスクフラグ:

番号  開始    終了    サイズ  タイプ   ファイルシステム  フラグ
 1    1049kB  2000GB  2000GB  primary  ext3

Partition 2 does not start on physical sector boundary.とでているのが少し気になるところ....

増設HDD接続後

sdcとして認識されている.

$ sudo fdisk -l
Disk /dev/sda: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x5ae2699a

デバイス   起動      Start 最後から  セクタ  Size Id タイプ
/dev/sda1  *          2048 3899713535 3899711488  1.8T 83 Linux
/dev/sda2       3899715582 3907028991    7313410  3.5G  5 拡張領域
/dev/sda5       3899715584 3907028991    7313408  3.5G 82 Linux スワップ / Solaris

Partition 2 does not start on physical sector boundary.


Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x0e77186b

デバイス   起動 Start 最後から  セクタ  Size Id タイプ
/dev/sdb1        2048 3907029167 3907027120  1.8T 83 Linux


Disk /dev/sdc: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

$ sudo parted -l
モデル: ATA TOSHIBA DT01ACA2 (scsi)
ディスク /dev/sda: 2000GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
ディスクフラグ:

番号  開始    終了    サイズ  タイプ    ファイルシステム  フラグ
 1    1049kB  1997GB  1997GB  primary   ext4              boot
 2    1997GB  2000GB  3744MB  extended
 5    1997GB  2000GB  3744MB  logical   linux-swap(v1)


モデル: ATA ST2000DM001-1ER1 (scsi)
ディスク /dev/sdb: 2000GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
ディスクフラグ:

番号  開始    終了    サイズ  タイプ   ファイルシステム  フラグ
 1    1049kB  2000GB  2000GB  primary  ext3


エラー: /dev/sdc: ディスクラベルが認識できません。
モデル: WDC WD40 EZRZ-00GXCB0 (scsi)
ディスク /dev/sdc: 4001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: unknown
ディスクフラグ:

partedでパーティション作成

fdiskは2TB以下のパーティションしか扱えないMBR (Master Boot Record) にしか対応していない.

そこでGPT (GUID Partition Table) に対応しているpartedを使う.

$ sudo parted /dev/sdc
GNU Parted 3.2
/dev/sdc を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) p
エラー: /dev/sdc: ディスクラベルが認識できません。
モデル: WDC WD40 EZRZ-00GXCB0 (scsi)
ディスク /dev/sdc: 4001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: unknown
ディスクフラグ:
(parted) mkpart primary
エラー: /dev/sdc: ディスクラベルが認識できません。
(parted) mklabel gpt
(parted) p
モデル: WDC WD40 EZRZ-00GXCB0 (scsi)
ディスク /dev/sdc: 4001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ:

番号  開始  終了  サイズ  ファイルシステム  名前  フラグ

(parted) mkpart primary
ファイルシステムの種類?  [ext2]? ext4
開始? 0%
終了? 100%
(parted) p
モデル: WDC WD40 EZRZ-00GXCB0 (scsi)
ディスク /dev/sdc: 4001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ:

番号  開始    終了    サイズ  ファイルシステム  名前     フラグ
 1    1049kB  4001GB  4001GB  ext4              primary

(parted) q
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。

12行目で失敗しているが,はじめにディスクラベルを作らないといけなかったらしい.

 

26, 27行目では,パーティション境界をサイズではなくパーセントで指定してる.

に,

デフォルトではアライメントタイプはoptimal、ユニットはcompact(MB 指定と可読性の高い表示)になっています。この場合、開始位置に0を指定するとアライメントが正しくないというエラーになります。これは1を指定するか、unitコマンドで単位をGB%などに変更したり、開始位置の指定を0Gもしくは0%などで指定するとことで開始位置が2048sになりエラーが出なくなります。アライメントタイプは起動時のオプション-a minimal等で変更ができます。

とあったため,パーセント指定にした.

ext4でフォーマット

適当にフォーマットする.

$ sudo mkfs.ext4 /dev/sdc1
mke2fs 1.42.13 (17-May-2015)
Creating filesystem with 976754176 4k blocks and 244195328 inodes
Filesystem UUID: b57dea59-51b0-4a83-b3c1-6f493237dbca
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 (32768 blocks): done
Writing superblocks and filesystem accounting information: done

$ sudo parted -l
モデル: ATA TOSHIBA DT01ACA2 (scsi)
ディスク /dev/sda: 2000GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
ディスクフラグ:

番号  開始    終了    サイズ  タイプ    ファイルシステム  フラグ
 1    1049kB  1997GB  1997GB  primary   ext4              boot
 2    1997GB  2000GB  3744MB  extended
 5    1997GB  2000GB  3744MB  logical   linux-swap(v1)


モデル: ATA ST2000DM001-1ER1 (scsi)
ディスク /dev/sdb: 2000GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
ディスクフラグ:

番号  開始    終了    サイズ  タイプ   ファイルシステム  フラグ
 1    1049kB  2000GB  2000GB  primary  ext3


モデル: WDC WD40 EZRZ-00GXCB0 (scsi)
ディスク /dev/sdc: 4001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ:

番号  開始    終了    サイズ  ファイルシステム  名前     フラグ
 1    1049kB  4001GB  4001GB  ext4              primary

$ sudo fdisk -l
Disk /dev/sda: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x5ae2699a

デバイス   起動      Start 最後から  セクタ  Size Id タイプ
/dev/sda1  *          2048 3899713535 3899711488  1.8T 83 Linux
/dev/sda2       3899715582 3907028991    7313410  3.5G  5 拡張領域
/dev/sda5       3899715584 3907028991    7313408  3.5G 82 Linux スワップ / Solaris

Partition 2 does not start on physical sector boundary.


Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x0e77186b

デバイス   起動 Start 最後から  セクタ  Size Id タイプ
/dev/sdb1        2048 3907029167 3907027120  1.8T 83 Linux


Disk /dev/sdc: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: F838B351-77F3-4D16-BD42-B715BFD75F9B

デバイス   Start 最後から  セクタ  Size タイプ
/dev/sdc1   2048 7814035455 7814033408  3.7T Linux filesystem

$ sudo tune2fs -l /dev/sdc1
tune2fs 1.42.13 (17-May-2015)
Filesystem volume name:   
Last mounted on:          
Filesystem UUID:          b57dea59-51b0-4a83-b3c1-6f493237dbca
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              244195328
Block count:              976754176
Reserved block count:     48837708
Free blocks:              961377026
Free inodes:              244195317
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      791
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Flex block group size:    16
Filesystem created:       Sun Jan  7 04:47:10 2018
Last mount time:          n/a
Last write time:          Sun Jan  7 04:47:11 2018
Mount count:              0
Maximum mount count:      -1
Last checked:             Sun Jan  7 04:47:10 2018
Check interval:           0 ()
Lifetime writes:          139 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      ff0fe011-9ed9-4bd5-8709-b6526156d494
Journal backup:           inode blocks

適当にフォーマットしたら,ファイルシステムの予約ブロックが全容量の5%ほどできてしまったので,やり直し.

$ sudo mkfs.ext4 -m 0 /dev/sdc1
mke2fs 1.42.13 (17-May-2015)
/dev/sdc1 contains a ext4 file system
        created on Sun Jan  7 04:47:10 2018
Proceed anyway? (y,n) y
Creating filesystem with 976754176 4k blocks and 244195328 inodes
Filesystem UUID: aa2f7c92-ba82-451c-a8d6-8173eac409aa
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 (32768 blocks): done
Writing superblocks and filesystem accounting information: done

$ sudo parted -l
モデル: ATA TOSHIBA DT01ACA2 (scsi)
ディスク /dev/sda: 2000GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
ディスクフラグ:

番号  開始    終了    サイズ  タイプ    ファイルシステム  フラグ
 1    1049kB  1997GB  1997GB  primary   ext4              boot
 2    1997GB  2000GB  3744MB  extended
 5    1997GB  2000GB  3744MB  logical   linux-swap(v1)


モデル: ATA ST2000DM001-1ER1 (scsi)
ディスク /dev/sdb: 2000GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: msdos
ディスクフラグ:

番号  開始    終了    サイズ  タイプ   ファイルシステム  フラグ
 1    1049kB  2000GB  2000GB  primary  ext3


モデル: WDC WD40 EZRZ-00GXCB0 (scsi)
ディスク /dev/sdc: 4001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt
ディスクフラグ:

番号  開始    終了    サイズ  ファイルシステム  名前     フラグ
 1    1049kB  4001GB  4001GB  ext4              primary

$ sudo fdisk -l
Disk /dev/sda: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x5ae2699a

デバイス   起動      Start 最後から  セクタ  Size Id タイプ
/dev/sda1  *          2048 3899713535 3899711488  1.8T 83 Linux
/dev/sda2       3899715582 3907028991    7313410  3.5G  5 拡張領域
/dev/sda5       3899715584 3907028991    7313408  3.5G 82 Linux スワップ / Solaris

Partition 2 does not start on physical sector boundary.


Disk /dev/sdb: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x0e77186b

デバイス   起動 Start 最後から  セクタ  Size Id タイプ
/dev/sdb1        2048 3907029167 3907027120  1.8T 83 Linux


Disk /dev/sdc: 3.7 TiB, 4000787030016 bytes, 7814037168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: F838B351-77F3-4D16-BD42-B715BFD75F9B

デバイス   Start 最後から  セクタ  Size タイプ
/dev/sdc1   2048 7814035455 7814033408  3.7T Linux filesystem

$ sudo tune2fs -l /dev/sdc1
tune2fs 1.42.13 (17-May-2015)
Filesystem volume name:   
Last mounted on:          
Filesystem UUID:          aa2f7c92-ba82-451c-a8d6-8173eac409aa
Filesystem magic number:  0xEF53
Filesystem revision #:    1 (dynamic)
Filesystem features:      has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags:         signed_directory_hash
Default mount options:    user_xattr acl
Filesystem state:         clean
Errors behavior:          Continue
Filesystem OS type:       Linux
Inode count:              244195328
Block count:              976754176
Reserved block count:     0
Free blocks:              961377026
Free inodes:              244195317
First block:              0
Block size:               4096
Fragment size:            4096
Reserved GDT blocks:      791
Blocks per group:         32768
Fragments per group:      32768
Inodes per group:         8192
Inode blocks per group:   512
Flex block group size:    16
Filesystem created:       Sun Jan  7 04:52:05 2018
Last mount time:          n/a
Last write time:          Sun Jan  7 04:52:05 2018
Mount count:              0
Maximum mount count:      -1
Last checked:             Sun Jan  7 04:52:05 2018
Check interval:           0 ()
Lifetime writes:          139 MB
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)
First inode:              11
Inode size:               256
Required extra isize:     28
Desired extra isize:      28
Journal inode:            8
Default directory hash:   half_md4
Directory Hash Seed:      08835ad9-73ac-4388-bf88-ede15d04fa22
Journal backup:           inode blocks

マウント

マウントポイントの作成し,マウント.

$ cd /mnt/
$ sudo mkdir disk2
$ sudo mount -t ext4 /dev/sdc1 /mnt/disk2

6.HDDのマウントの恒久化

fstabに登録

フォーマット時にも表示されたが,一応再度UUIDの確認.

$ sudo blkid /dev/sdc1
/dev/sdc1: UUID="aa2f7c92-ba82-451c-a8d6-8173eac409aa" TYPE="ext4" PARTLABEL="primary" PARTUUID="4687c89a-ab76-408f-aa10-9d61766e8234"

fstabに登録する.

$ sudo nano /etc/fstab
# 以下2行を追記
# third disk for samba
UUID=aa2f7c92-ba82-451c-a8d6-8173eac409aa /mnt/disk2/     ext4 defaults,nofail 0 0

再起動してもマウントされていればOK.

7.Sambaの設定

すでにSambaは運用済みであるので,共有フォルダを追加した.

$ cd /mnt/disk2/
$ sudo mkdir share3
$ sudo chown ${samba_user}:${samba_user} share3/
$ sudo chmod 777 share3/

$ sudo nano /etc/samba/smb.conf
# 以下8行を追記
[share3]
  comment = Shared folder
  path = /mnt/disk2/share3
  guest ok = no
  guest only = no
  writable = yes
  create mode = 0777
  directory mode = 0777


$ sudo testparm
$ sudo service smbd restart
$ sudo service nmbd restart
$ sudo reboot

8.Windowsからアクセスするためのバッチファイル

詳細なバッチファイルやその説明は過去記事「」に任せるが,

subst W: \\${network_address}\share3

のようなバッチファイルを組めばWindowsのマイコンピュータに共有フォルダがマウントされる.

 

なお,smb.confで設定したSambaのアクセスユーザー,PWがWindowsログインユーザー,PWと同一であれば認証を自動的に通過することが可能である.

(これ,原理どうなってんだ? Windows SystemはPWを平文で保持しているってこと?)

9.関連記事

10.参考サイト

ahiru studio. Linux に 3TB HDD を増設する. Retrieved January 6, 2018, from http://www.ahirustudio.com/archives/linux-add-3tb-hdd/
まんぼう日記. Linuxで2TB超のHDDを使う. Retrieved January 6, 2018, from http://takatakamanbou.hatenablog.com/entry/2015/12/03/172423
hirooka.pro. Ubuntu 16.04でHDDを増設する件. Retrieved January 6, 2018, from https://hirooka.pro/?p=8450
mattintosh note. parted と gdisk で GPT ディスクのパーティショニング. Retrieved January 6, 2018, from http://mattintosh.hatenablog.com/entry/20140926/1411686000

コメントを投稿

名前

Email (※公開されることはありません)

コメント