ストレージ用ドライブ追加 02 samba設定~ミラーリング設定

ドライブ追加の続きです。
今回はsambaでWindowsから見られるようにしてrsyncを設定するところまでやって終わりにします。

とりあえずsambaから見えるようにするためのディレクトリを作ります。

# mkdir /var/storage/01/main/data
# mkdir /var/storage/01/mirror/data

そしてwindowsからみた時にちゃんとファイルがあることを確認できるようにするために適当にファイルをおいときます。

# touch /var/storage/01/main/data/aaa
# ls -la /var/storage/01/main/data/
合計 8
drwxr-xr-x 2 root root 4096 7月 15 05:42 .
drwxr-xr-x 4 root root 4096 7月 15 05:40 ..
-rw-r--r-- 1 root root 0 7月 15 05:42 aaa
# touch /var/storage/01/mirror/data/bbb
# ls -la /var/storage/01/mirror/data/
合計 8
drwxr-xr-x 2 root root 4096 7月 15 05:42 .
drwxr-xr-x 4 root root 4096 7月 15 05:40 ..
-rw-r--r-- 1 root root 0 7月 15 05:42 bbb

windowsから見えるようにするのはマスタ側だけなのでaaaが見られればok。

webminから

servers > Samba Windows File Sharing

samba設定画面

一覧の下の Create a new file share. をクリックして追加します。


samba 追加内容入力

  • Share name : storage-01
  • Directory to share : /var/storage/01/main/data
  • Automatically create directory : Yes
  • Create with owner : root
  • Create with permissions : 755
  • Create with group : root
  • Available? : Yes
  • Browseable? : Yes
  • Share Comment : (blank)

で Create をクリックすると設定完了。

samba に追加完了


がしかし、storage-00と違って

Read only to all known users

になっている。
これでは書き込めないので比較してみます。

新しく追加されたものをクリックして中に入ってみます。
が、storage-00との違いは無いっぽいです。

storage-01 の設定内容

鍵のマークをクリックしてみます。
アクセスコントロールなのでココ感がすごい。

samba の Security and Access Control の設定

やはり違ってました。

  • Writable? : No
  • Revalidate users? : No

となっていました。
Storage-00 は両方共YesになっていたのでYesに変更してみます。
save を押して戻る。

と、おなじになってます。

samba 一覧で Security が同じになっていることを確認

ではこれで完了のはずなのでWindowsから見てみます。

Windows から samba を見てみた状態

見えました。
中を見に行くと・・・

追加したstorage-01の中身

aaaが見えてます。素晴らしい。
そして編集してみると・・・

samba 上のファイルを上書きしてみようとしたら権限エラー

権限エラーです。
元のファイルをrootでtouchして作ったからか?と思って空のファイルを作ってみようとしてもエラー。

samba 上にファイルを追加しようとして権限エラー

もう一度sambaの設定へ戻って、鍵のマークの隣の File Permissions を比較してみます。
この設定名も非常にあやしい。

File Permissions で Force Unix user が空にになっている

やはり違いました。

  • Force Unix user : (blank)

となってました。
storage-00 は root となってたのです。
storage-00 の方はファイルの操作は全部rootで行われていたんですね。
以前の投稿を見なおすとわかるかもしれないけど面倒なので見直してない。
メモの意味が無い気がしないでも無いですが・・・。

で、rootといれて保存、再度windowsからやってみますが変わらず・・・。
sambaのサービスを再起動してみます。

# service smb restart
SMB サービスを停止中: [ OK ]
NMB サービスを停止中: [ OK ]
SMB サービスを起動中: [ OK ]
NMB サービスを起動中: [ OK ]

できました。
ファイルも追加できたし、aaaの上書きもできました。

windows からファイルの追加

つづいてファイルミラーリングの設定。
これは自分で作ったものなので簡単。
一行追加するだけです。

#!/bin/bash

# log directory
log_dir="/var/log/sync_storage"
if [ ! -d $log_dir ]
then
mkdir $log_dir
fi

# log file path
log_file=$log_dir"/"`date +%Y%m%d%H%M`".log"

# start
echo "### Start sync storage ##########" >> $log_file
date >> $log_file

# check dupe
running=`pgrep -fo $0`
if [ $$ != $running ]
then
echo "### Already running : $running ###" >> $log_file
exit 1
fi

# exec rsync
rsync -av --delete /var/storage/00/main/data /var/storage/00/mirror >> $log_file
rsync -av --delete /var/storage/00/main/svn /var/storage/00/mirror >> $log_file
rsync -av --delete /var/storage/01/main/data /var/storage/01/mirror >> $log_file

# end
echo "### End sync storage ############" >> $log_file
date >> $log_file

exit 0

01のmain/dataから01のmirrorへ差分コピーするだけ。

では実行してみます。
成功すればmirror/dataの中のbbbがなくなってaaaと新しいテキスト ドキュメント.txtになっているはず。

ログを見たら

sent 3442 bytes received 20 bytes 6924.00 bytes/sec
total size is 3909600 speedup is 1129.29
building file list ... done
deleting data/bbb
data/
data/aaa
data/新しいテキスト ドキュメント.txt

こうなっていて、ディレクトリを見ると

# ls /var/storage/01/mirror/data/
aaa 新しいテキスト ドキュメント.txt

となってました。
成功です。

これでドライブ追加は完了です。

コメント