#ファイルサーバとは?
ネットワーク経由で、ファイルを共有するサーバ
クライアント →→ 「ファイル見せて」 →→ サーバ
←← 「いいよ、ファイルあげるよ」 ←←
クライアント →→ 「ファイル更新させて」 →→ サーバ
←← 「いいよ、更新したよ」 ←←
ファイル共有プロトコルには主にSMB/CIFS(Windows)、NFS(Unix系OS)がある。
以下、それぞれのファイルサーバ構築手順について書く。
#SMB、CIFS
Windowsネットワークにおけるファイル共有プロトコル。
Windowsのファイル共有は、SMBか、SMBを拡張したCIFSが使われている。
##Sambaでのサーバ構築手順
SambaとはUnix系OSに、
Windowsネットワークの接続のための機能を持たせるためのソフトウェア。
ファイル共有プロトコルはCIFSを利用する。
###サーバ側設定
1.Sambaのインストール
#sudo su
#yum -y install samba
2.共有ディレクトリを作成
#mkdir /home/test --共有するディレクトリの作成
#chmod 777 /home/test --アクセス権(全ユーザフルコントロール)の追加
#touch /home/test/testfile --テスト用ファイルの作成
3.設定ファイルの変更
#vi /etc/samba/smb.conf
設定ファイルに以下を追記
[test]
comment = TEST file share
writable = yes --書き込み許可(デフォルトは読み出し遠洋)
guest = no --ゲストアクセス禁止
guest only = no --ゲスト以外のアクセス許可
path = /home/test --共有ディレクトリのパス
4.Sambaの起動
#systemctl start smb.service --サービス起動
#systemctl status smb.service --active(running)であることを確認
#systemctl enable smb.service --自動起動設定
#systemctl list-unit-files smb.service --自動起動設定がenableであることを確認
5.Sambaユーザとパスワードの登録
#pdbedit -a -u test-root --「-a」で登録、「-u」でユーザ名を指定
new password:****** --パスワードを入力(非表示)
Retype new password:****** --再びパスワードを入力(非表示)
#pdbedit -L --ユーザが作成されたことを確認
###クライアント側設定
以下、上記で登録したユーザで作業をする
#yum -y install samba-client
$smbclient -L localhost
Enter SAMBA¥test-root's password:****** --パスワードを入力(非表示)
TEST file share が見えることを確認する
2.共有への接続
$smbclient //localhost/tech
Enter SAMBA¥test-root's password:****** --パスワードを入力(非表示)
Domain= ~~~~~
smb:¥>ls --通常のコマンドライン同様、lsコマンドでファイル一覧を表示する
.
..
testfile --作成した「testfile」があることを確認できる
※sambaで利用できるコマンド一覧は?で確認可能
smb:¥>?
3.Windowsマシンから共有への接続
Windowsスタートメニュー横の検索画面から「run」を選択(ファイル名を指定して実行)。
入力欄に、「\サーバのIPアドレス\test」を入力し、OK。
IDとパスワードを問われるので、
5で登録したユーザとパスワードを入力し、OK。
エクスプローラが開き、「testfile」があることを確認できる。
#NFS
主にUNIX系で使われるファイル共有プロトコル。
リモートサーバ上のファイルやディレクトリにアクセスし、それらのファイルやディレクトリをローカルファイルやローカルディレクトリと同様に扱うことができる。
マウントポイントにリモートサーバのディレクトリをNFSマウントする。
##NFSでのサーバ構築手順
###サーバ側設定
1.NFSのインストール
#sudo su
#yum -y install nfs-utils
2.NFSの起動
#systemctl start nfs.service --サービス起動
#systemctl status nfs.service --active(running)であることを確認
#systemctl enable nfs.service --自動起動設定
#systemctl list-unit-files nfs.service --自動起動設定がenableであることを確認
3.ディレクトリの作成
#mkdir /export --NFSで共有するためのディレクトリを作成
4.設定ファイルの変更
#vi /etc/exports
以下を追記
/export ***.**.**.**/255.***.***.***(rw,no_root_squash,sync)
※IPアドレス/サブネットマスク
--読み取り/書き込み許可、root権限付与、書き込まれたデータを即ディスクに反映
5.作成したディレクトリをエクスポート
#exportfs -av
6.エクスポートされていることを確認
#showmount -e
Export list for ***.**.**.**:
/export ***.**.**.**/255.***.***.*** --/exportがあることが確認できる
7.NFSマウントの確認
#mount -t nfs ***.**.**.**:/export /mnt --mntディレクトリにNFSマウント
※IPアドレス
#df -h --マウントされていることを確認
***.**.**.**:/export 30G 1.3G 29G 5% /mnt
※アンマウント
#umount /mnt
#df -h --消えたことを確認
###クライアント側設定
1.NFSクライアントの設定
#sudo su
#yum -y install nfs-utils
2.マウントポイントの作成
#mkdir /home/data
3.NFSマウントの実行と確認
#mount -t nfs4 ***.**.**.**:/export /home/data --/home/dataにNFSサーバの/exportsをマウント
#df -h --マウントを確認
***.**.**.**:/export 30G 1.3G 29G 5% /home/data
4.ファイル作成の確認
#cd /home/data
#touch testfile
#ls -l
-rw -r--r-- 1 root 5 Dec 6 08:12 testfile --「testfile」があることを確認
###サーバ側で確認
上記クライアントが作成したファイルを、サーバ側で確認する
ls -l /export
-rw -r--r-- 1 root 5 Dec 6 08:12 testfile --「testfile」があることを確認
おわり。
#最後に
ファイルサーバはサーバという感覚が、新人のころはなかったです。
自分のところにあるファイルかのように使えるのは、ファイルサーバのおかげなんですね。
今回作ってみてより実感しました。
あとは、Markdownでナンバリングする方法が分からない。。
1.(半角スペース)をしても、ナンバリングとナンバリングの間に文字を入力すると、全部1.でナンバリングされてしまいます。