同じ建屋の中で諸般の事情により別々のネットワークにいるスタッフの皆さんが、インターネット上で普遍的にアクセス可能な共有フォルダを、 QNAP のXeon搭載 NAS TVS-EC880内に立てた 仮想マシン に NextCloud で構築しました。
QNAP謹製システムを使わない理由
何もわざわざ仮想マシンを立てなくとも、QNAP NASには外向きにも通用するファイルサービスが用意されているも、以下の理由により活用を諦めました。
- myQNAPcloudのDDNSは、システムが検出するWAN IPしか紐付けできず、手動での指定は不可。
- QNAP NASをmyQNAPcloudに頼らず、独自ドメインで使おうとする場合、SSL証明書やその更新手段を自前で確保しなければならない。
QTSのGUI操作だけで外向きのファイルサービスを使えるようになるので、家庭用や少人数の単純なネットワークなら非常に便利ですが、ちょっと凝ったことをしようとすると壁に突き当たります。
そんな理由により、今回はQNAPのXeon搭載 NAS TVS-EC880の中に仮想マシンを立て、以前Oracle Cloud上にも構築したこともあったNextCloudを使って、自由にカスタマイズ可能なクラウドストレージシステムを構築します。
仮想マシンの作成
先ず、QNAP QTSのVirtualization Stationに、以下の構成で仮想マシンを作成しました。
今回、システムとファイル共有のストレージは別々の仮想ディスクにしようと思うのですが、OSのインストールが終わるまではシステム用の仮想ディスク8GBのみで臨みます。
Ubuntu 22.04 Serverのインストール
ダウンロードしたUbuntu 22.04.1 ServerのISOイメージを仮想CDドライブにセットしたら、
インストーラは、表示言語とキーボードレイアウトの選択から始まります。
Ubuntu Serverのインストールタイプは、ミニマムではない通常版を選択。
IPアドレスの手動設定では、サブネットの記述文法にしばし翻弄させられました。
プロクシとミラーレポジトリは特に触らず次へ。
パーティションの構成もデフォルトのままで進めてしまいましたが、 /boot にがっつり持っていかれました。
プロファイルの設定で、ホスト名とユーザアカウントを作成。
SSHセットアップでは、OpenSSHサーバのインストールにチェックを入れます。
20分程度でインストール作業が終わり、仮想マシンを再起動。
問題無くUbuntu 22.04 Serverへログインできました。
ファイル共有用仮想ストレージの追加
そのまま仮想マシンの電源を落とさずVirtualization Stationに戻り、ファイル共有用の仮想ディスクを追加します。
今回作るファイル共有は、社内にあるコピー複合機が受信したFAX文書のユーザへの公開に特化しているので、容量は取り敢えず1GBもあれば十分。
続いてターミナルで追加した仮想ディスク /dev/vdb に fdisk でパーティションを作成します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
$ sudo fdisk /dev/vdb Welcome to fdisk (util-linux 2.37.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table. Created a new DOS disklabel with disk identifier 0x2a9d62af. Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): First sector (2048-2097151, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-2097151, default 2097151): Created a new partition 1 of type 'Linux' and of size 1023 MiB. Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. $ sudo fdisk -l /dev/vdb Disk /dev/vdb: 1 GiB, 1073741824 bytes, 2097152 sectors 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: dos Disk identifier: 0x2a9d62af Device Boot Start End Sectors Size Id Type /dev/vdb1 2048 2097151 2095104 1023M 83 Linux |
そしてext4ファイルシステムを作成。
1 2 3 4 5 6 7 8 9 10 11 12 |
$ sudo mkfs.ext4 /dev/vdb1 mke2fs 1.46.5 (30-Dec-2021) Discarding device blocks: done Creating filesystem with 261888 4k blocks and 65536 inodes Filesystem UUID: 0330dcd8-6034-4d4a-9d5b-eb87dceaf747 Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Allocating group tables: done Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done |
出来上がったデバイスの情報を確認し、これからマウントする vdb1 のUUIDをメモしておきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS vda 252:0 0 8G 0 disk ├─vda1 252:1 0 1M 0 part ├─vda2 252:2 0 1.8G 0 part /boot └─vda3 252:3 0 6.2G 0 part └─ubuntu--vg-ubuntu--lv 253:0 0 6.2G 0 lvm / vdb 252:16 0 1G 0 disk └─vdb1 252:17 0 1023M 0 part $ sudo partx /dev/vdb NR START END SECTORS SIZE NAME UUID 1 2048 2097151 2095104 1023M 2a9d62af-01 $ ls -l /dev/disk/by-uuid/ lrwxrwxrwx 1 root root 10 Dec 8 03:46 0330dcd8-6034-4d4a-9d5b-eb87dceaf747 -> ../../vdb1 lrwxrwxrwx 1 root root 10 Dec 7 09:12 6d53ec09-ec01-4c5c-b5ae-a37ac844abc8 -> ../../dm-0 lrwxrwxrwx 1 root root 10 Dec 7 09:12 7c1af84d-02a5-4550-a9b0-1edd1f7972c5 -> ../../vda2 |
/media 下にマウントポイントを作成し、 /etc/fstab にマウント情報を追加します。
1 2 |
$ sudo mkdir /media/vol1 $ sudo nano /etc/fstab |
1 2 |
# vdb Share Disk /dev/disk/by-uuid/0330dcd8-6034-4d4a-9d5b-eb87dceaf747 /media/vol1 ext4 defaults 0 1 |
sudo mount -a で更新した fstab を再読込みすると、追加したディスクがマウントされました。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$ sudo mount -a $ mount | grep vdb /dev/vdb1 on /media/vol1 type ext4 (rw,relatime) $ df -h Filesystem Size Used Avail Use% Mounted on tmpfs 198M 1.1M 197M 1% /run /dev/mapper/ubuntu--vg-ubuntu--lv 6.1G 3.5G 2.3G 61% / tmpfs 988M 0 988M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/vda2 1.7G 245M 1.4G 16% /boot tmpfs 198M 4.0K 198M 1% /run/user/1000 /dev/vdb1 989M 24K 922M 1% /media/vol1 |
次ページではSnap版NextCloudをインストールします。