🍣

Vmware ESXiを使って自宅Serverを立ててみた(NAS構築)

2022/08/13に公開

概要

前回からの続きです。
今回は外付けUSBHDDを2台使用して、SMBでNASを構築しました。
(1台は家族で使用、もう1台はプライベート用途です)
OSがUbuntuなのと、RDMを使用して構築したのは何となくです。
よくよく考えたら、RDMを使うよりUSBをパススルーして認識させた方が手順的にも遥かに楽な気が。。。パフォーマンスもそこまで求めないし。。。

ESXi上からUSB接続のHDDを見えるようにする。(RDM)

HDDはあらかじめ、exFatでフォーマット。NTFSだとESXiが検出できなかった。
また、検出するにはESXiのSSHで以下のコマンドを使用してゲストOSへのパススルーを停止する必要がある。(USB接続はデフォルトだとゲストOSにパススルー設定らしい)

/etc/init.d/usbarbitrator stop

残りの手順は以下のサイトを参考にした
https://hchch.net/vmware-esxi-raw-device-mapping/

ubuntuのインストール

仮想マシンの設定


先ほど追加したRDMのHDDは、ハードディスクの追加→既存のハードディスクで追加する。
コントローラーはSATAを選択した。(SCSIだとなぜかゲストOS上から見えない)

セキュアブートは無効にする。

ubuntuのインストール

言語設定

キーボードのレイアウト設定

インストールタイプ選択

固定IP設定

APT のデータ取得先変更

ストレージの設定


サーバー名とユーザーの設定

SSH設定

インストールパッケージの選択

インストール完了

インストール後の設定

以下を参考に必要と思われる個所のみ実施
https://www.kkaneko.jp/tools/ubuntu/ubuntu_setup.html

sudo apt -y update  # update
sudo timedatectl set-timezone Asia/Tokyo # set timezone
#Language setting
export LANG=ja_JP.UTF-8 
export LC_ALL=ja_JP.UTF-8 
export LANGUAGE=ja_JP.UTF-8 
sudo sed -i 's/# ja_JP.UTF-8 UTF-8/ja_JP.UTF-8 UTF-8/g' /etc/locale.gen
sudo locale-gen
sudo update-locale LANG=ja_JP.UTF-8
sudo dpkg-reconfigure -f noninteractive locales 
sudo /usr/sbin/update-locale LANG=$LANG LC_ALL=$LANG

外付けUSBHDDの設定

接続したHDDが認識されているかチェック。
(※今回、3TBと2TBの外付けHDDを接続している。)

sudo fdisk -l
Disk /dev/sdb: 2.73 TiB, 3000558944256 bytes, 5860466688 sectors
Disk model: VMware Virtual S
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: A190DBD2-36C8-4217-B5C3-344180D56974

Device     Start        End    Sectors  Size Type
/dev/sdb1   2048 5860464639 5860462592  2.7T Microsoft basic data


Disk /dev/sdc: 1.82 TiB, 2000365289472 bytes, 3906963456 sectors
Disk model: VMware Virtual S
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: 0D0D34DF-7BE3-4638-8651-F9AFDDEF0B9F

Device     Start        End    Sectors  Size Type
/dev/sdc1   2048 3906959359 3906957312  1.8T Microsoft basic data

ext4で再フォーマットする。

sudo mkfs -t ext4 /dev/sdb1
sudo mkfs -t ext4 /dev/sdc1

マウントする

sudo mkdir /mnt/usb_hdd01
sudo mkdir /mnt/usb_hdd02
sudo mount -t ext4 /dev/sdb1 /mnt/usb_hdd01
sudo mount -t ext4 /dev/sdc1 /mnt/usb_hdd02
#アクセス権変更(後からSMBで共有するため)
sudo chmod 0777  /mnt/usb_hdd01
sudo chmod 0777  /mnt/usb_hdd01

自動マウント

sudo blkid /dev/sdb1
/dev/sdb1: UUID="f224cdd0-d38a-4155-9df6-57f6bedb99ce" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="06f2441a-3642-4043-a0f5-1b6a317a82ae"
sudo blkid /dev/sdc1
/dev/sdc1: UUID="57cb195d-03d0-4b47-bf98-fbb7866468c4" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="c94e4d4a-ee4e-4f5d-994e-c47c2440a70e"

sudo vi /etc/fstab
#一番下に以下を追記。
UUID=f224cdd0-d38a-4155-9df6-57f6bedb99ce /mnt/usb_hdd01 ext4 defaults 0 1
UUID=57cb195d-03d0-4b47-bf98-fbb7866468c4 /mnt/usb_hdd02 ext4 defaults 0 1

SMBのインストールと設定

SMBインストール

sudo apt -y install samba

ユーザー設定

sudo groupadd SMBNasAccessibleUsers
sudo useradd NasAccessUser
sudo passwd NasAccessUser
sudo usermod -aG SMBNasAccessibleUsers NasAccessUser

sudo groupadd SMBPrivateNasAccessibleUsers
sudo useradd PrivateNasAccessUser
sudo sudo passwd PrivateNasAccessUser
sudo usermod -aG SMBPrivateNasAccessibleUsers PrivateNasAccessUser

sudo pdbedit -a NasAccessUser  #SMBのユーザーとして追加
sudo pdbedit -a PrivateNasAccessUser

sudo vi /etc/samba/smb.conf
#追加([global])
   unix charset = UTF-8
   dos charset = CP932
   mangled names = no
   vfs objects = catia
   catia:mappings = 0x22:0xa8,0x2a:0xa4,0x2f:0xf8,0x3a:0xf7,0x3c:0xab,0x3e:0xbb,0x3f:0xbf,0x5c:0xff,0x7c:0xa6
   
interfaces = 127.0.0.0/8 192.168.1.0/24

[nas]
   comment = public nas
   path = /mnt/usb_hdd01
   public = yes
   writable = yes
   only guest = yes
   directory mask = 0777
   create mask = 0777
   valid users = @SMBNasAccessibleUsers
   
[private_nas]
   comment = private nas
   path = /mnt/usb_hdd02
   public = yes
   writable = yes
   only guest = yes
   directory mask = 0777
   create mask = 0777
   valid users = @SMBPrivateNasAccessibleUsers

SMB再起動、起動時に自動実行設定

sudo systemctl restart smbd nmbd
sudo systemctl enable smbd nmbd

Windows10から接続確認

Discussion