事象発生日:2018-01-06
記事公開日:2018-01-06
アクセス数:74814
自宅サーバーに4TBのHDDを1台増設した.
マザーボードのSATAポートが余っていないため,ちょっと面倒なことになった.
さらにfdisk
がGPTに対応していないことも知り,ちょっとどころじゃなく面倒なことになった.
HDDを増設して,SambaでLAN内のWindows PCからファイル共有できるようにするまでの備忘録.
(SMBに対応しているアプリを使えば,Androidでも共有可能)
Ubuntu Server 16.04.2 LTS
Microsoft Windows 10 Home (64bit)
WD40EZRZ-RT2 (HDD)
OWL-PCSPS3U3U2のサポートがWindowsだけなのが少し不安.
HDDを増設したいが,マザーボードのSATAポートが余っていない.
そこで4つの方針を考えた.
まず思いつくのがこれ.
外付けHDDを普通にUSB接続する方法.
エレガントじゃないので却下.
エレガントな方法(?)
HDDのSATA端子をUSBコネクタに変換し,マザーボードに直接接続する方法.
ぱっとみできそうなのだが,SATA - USBコネクタ変換器を探しても見つからなかった.
SATA - USBはプロトコルが違うためコントローラが必須である.そのために変換に外部電源が入りそうなのが原因?
誰か商品化してください....
外付けHDDをPCケース内部に設置し,ケーブル・電源を外に出す.
よさそうだが,排熱の問題と,PCケースを動かしたときにHDDが動いてしまうのが不安.
HDDをPCケースに正規の方法で設置.
そしてSATA - USB A端子に変換してケーブル・電源を外に出す方法.
HDDはPCケースに固定されるので安全.
しかし,PCケースからケーブルともう1つの電源コードがでているのがいまいち.
これでいくことにした.
PCケースに正規の方法でHDDを取り付け,そこにSATA - USB変換コネクタを接続.
ビデオカード用の穴からコードを出し,USBは背面ポートへ接続,電源はコンセントに接続した.
もともと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.
とでているのが少し気になるところ....
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 ディスクフラグ:
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
等で変更ができます。
とあったため,パーセント指定にした.
適当にフォーマットする.
$ 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
フォーマット時にも表示されたが,一応再度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.
すでに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
subst W: \\${network_address}\share3
のようなバッチファイルを組めばWindowsのマイコンピュータに共有フォルダがマウントされる.
なお,smb.confで設定したSambaのアクセスユーザー,PWがWindowsログインユーザー,PWと同一であれば認証を自動的に通過することが可能である.
(これ,原理どうなってんだ? Windows SystemはPWを平文で保持しているってこと?)
名前
Email (※公開されることはありません)
コメント