CentOSはHDDにインストールすることにしました。
バックアップはUbuntuのLiveCDとかLiveUSBでDD。
Windows上のDDでスワップを扱えなかったのでは?という問題は実際にやってみないとわからないのでノチホド検証を。
さて、インストールはするのですが、バックアップしやすいように領域はできる限り少なめにします。
今までは4GBのUSBメモリにいれていたのでそれで余裕のはず。
しかし、実際どこまで減らせるのか?が気になったので今の16GBのUSBメモリに入れているシステム領域はどれくらい使っているのか?を見てみます。
dfした結果はこんな感じです。
/boot に12MB、 / に1.3GBを使ってます。
あとはスワップ用に512MBを確保してありました。
/bootは12MBしかつかってませんが、こいつはジリジリと増えていくものなので少なすぎると困るはずです。
今まではなんとなく512MBも取ってましたが、ぐぐってみるとみんな100MBくらいにしているようです。
なので同じように100MBにした場合はだいたい
100MB + 2048MB(/に余裕をもたせて700MBほどプラス) + 512MB = 2660MB
になります。
/var/logを外付けHDDにしない、となるとやっぱりこれくらいは必要?
と思ったのですが、じゃあ実際今はどんだけ使ってるんだろうということで確認。
ログはシンボリックリンクで外付けHDDに飛ばしているので確認先をちょっと変更。
たった1.8メガでした。
こりゃあどう考えても700メガも要らないだろうと、そしてスワップももっと減らしてもいいだろうということで減らしてみるとだいたいこんなもんが妥当じゃないかと思われます。たぶん。
実際やってみないとわかりませんが。
合計だいたい2Gです。これならまるごとDDしてもすぐ終わるサイズ。
ここで気になったのが、書き換えが頻発するのは / の領域のみ。
スワップが全然発生しなかったりする場合もあるはず。
というか2GBもあればスワップなんかめったに発生しません。
となるとSSDだった場合、/のパーティションばっかり消耗してしまうのではないか?という疑問が出てきます。
そんな疑問は愚問でした。
そんなだれでも思いつきそうな疑問なんかもともと想定されていたんですね。
当たり前といえば当たり前。
SSDで領域分割しても寿命に影響ないの?:PC Online
これで不安は解消されたのでインストール作業開始です。
もう何度もやっているので先に手順を整理しておきます。
こんなかんじです。
ログの外出しはやめたのでその作業は無くなってます。
毎回なんで wget 入れるんだっけ?と忘れてしまっているのですが、yumにwebminのレポジトリを追加したあとの証明書をインストールするためです。
では開始。
インストールは何度もやっているのでいつもどおり。
メモ: 2012秋のファイルサーバ復旧 03 CentOS6.3入れます→5.8にします
パーティションは今回はいつもと違うので画面写真を。
インストールが終わったらsshでWindowsから入ってtmpfsの設定。
メモ: 2012秋のファイルサーバ復旧 11 tmpをtmpfsへ
wgetをインストール。
webminをインストール
メモ: 省エネファイルサーバ構築 21 CentOS 5.6 webmin インストール
webmin用のリポジトリを設定
証明書を取得してインストール
インストールにちょっと時間がかかるみたいなので待機。
しかしここまでプチフリっぽい動きは一切なし。
やっぱりUSBメモリの読込の遅さが問題だったんだなあとわかりました。
インストールが終わったのでブラウザからログインしてみると、XSS対策のためにこのモジュールを入れなさいというメッセージが出てきたのでインストール。
不要なサービスの停止。
不要なものにチェックし、Stopではなく、Disable No and On Boot ボタンをクリック。
何が不要なのかは↓の投稿を参照します。
メモ: 省エネファイルサーバ構築 22 CentOS 5.6 不要なサービスの停止
sambaのインストール
メモ: 省エネファイルサーバ構築 25 CentOS 5.6 samba インストール
インストールされてないのでリンクをクリックしなさいといわれるのでクリック
Windows Networking Options
user synchronisation
System > Users and Group でlinuxのユーザを追加 (kmd)
Edit Config File
Convert Users でsambaにユーザを反映
sambaユーザの編集画面からパスワード変更
プリンタが不要なので Share Name が Printer となっているものを削除
不要なサービス停止をした画面で、今度はsmbを自動起動スルようにしておきます。
sambaの基本的な設定はこれで終わり。
SELinuxを無効化します。
コレで一旦電源を切ってHDDを全部接続します。
そして起動。
マウント先のディレクトリを作成します。
HDDのマウント先をfstabに追記します。
保存したら再起動して自動マウントさせます。
sambaの設定をします。
メモ: 2012秋のファイルサーバ復旧 09 samba設定
Create a new file share のリンクをクリックして、下記の内容で3つ設定
作成した storage-00から02の Security and Access Control を変更。
同様に File Permissions も変更。
最後にごみ箱の設定
Edit Config File を開いて
storage-00から02までの場所に下記の内容を追記します。
そしてsamba再起動。
ところで、「ごみ箱」と言ってますがWindowsのゴミ箱には入ってくれません。
sambaで設定したディレクトリのルートに「.recycle」というディレクトリが作成されてファイルがコピーされるだけです。
これはWindowsの仕様で、ネットワーク上の領域はファイルを削除したらその場で削除、となっていてサーバ上にローカルのHDDと同じようにゴミ箱ディレクトリがあっても無視されてしまうのです。
残念です。
ついにsambaの最後の設定です。
ミラーリングスクリプトをcron登録します。
が、前回のスクリプトだとrsyncインストールし忘れたときの rsync : command not found というエラーメッセージがログにでません。
標準出力に出てしまうためです。
なので一部修正します。
元ネタはこちら メモ: 2012秋のファイルサーバ復旧 09 samba設定
rsyncの行の最後に 2>&1 をつけてます。
rsyncのインストール
cronのインストール
cronに登録
これでsambaの設定は終わりです。
最後にsubversionを入れます。
インストールが完了したら自動起動の設定を入れます。
リポジトリ自動設定用コンフィグファイルを作成してサービス登録し、起動します。
これでインストール作業は全て完了です。
次回はHDDからSSDにDDしてみます。
ところで今回から成功した手順だけをまとめた記事には「成功手順」のラベルをつけました。
あとでヘッダのメニューにも成功手順用のリンクを付けておこうと思います。
完全に自分用ですが。
バックアップはUbuntuのLiveCDとかLiveUSBでDD。
Windows上のDDでスワップを扱えなかったのでは?という問題は実際にやってみないとわからないのでノチホド検証を。
さて、インストールはするのですが、バックアップしやすいように領域はできる限り少なめにします。
今までは4GBのUSBメモリにいれていたのでそれで余裕のはず。
しかし、実際どこまで減らせるのか?が気になったので今の16GBのUSBメモリに入れているシステム領域はどれくらい使っているのか?を見てみます。
# df Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/sda3 14729016 1311604 12657136 10% / /dev/sda1 101086 12180 83687 13% /boot tmpfs 1020808 0 1020808 0% /dev/shm /dev/sdb 2884285104 1170653640 1567118136 43% /var/storage/00/main /dev/sdc 2884285104 1168471600 1569300176 43% /var/storage/00/mirror /dev/sdd 2884285104 2566032992 171738784 94% /var/storage/01/main /dev/sde 2884285104 2565883832 171887944 94% /var/storage/01/mirror /dev/sdf 2884285104 2232040272 505731504 82% /var/storage/02/main /dev/sdg 2884285104 2231173704 506598072 82% /var/storage/02/mirror
dfした結果はこんな感じです。
/boot に12MB、 / に1.3GBを使ってます。
あとはスワップ用に512MBを確保してありました。
/bootは12MBしかつかってませんが、こいつはジリジリと増えていくものなので少なすぎると困るはずです。
今まではなんとなく512MBも取ってましたが、ぐぐってみるとみんな100MBくらいにしているようです。
なので同じように100MBにした場合はだいたい
100MB + 2048MB(/に余裕をもたせて700MBほどプラス) + 512MB = 2660MB
になります。
/var/logを外付けHDDにしない、となるとやっぱりこれくらいは必要?
と思ったのですが、じゃあ実際今はどんだけ使ってるんだろうということで確認。
ログはシンボリックリンクで外付けHDDに飛ばしているので確認先をちょっと変更。
# du /var/storage/00/main/var.log 8 /var/storage/00/main/var.log/samba/cores/nmbd 8 /var/storage/00/main/var.log/samba/cores/smbd 24 /var/storage/00/main/var.log/samba/cores 156 /var/storage/00/main/var.log/samba 12 /var/storage/00/main/var.log/pm 24 /var/storage/00/main/var.log/prelink 1800 /var/storage/00/main/var.log
たった1.8メガでした。
こりゃあどう考えても700メガも要らないだろうと、そしてスワップももっと減らしてもいいだろうということで減らしてみるとだいたいこんなもんが妥当じゃないかと思われます。たぶん。
実際やってみないとわかりませんが。
/boot 100MB / 1800MB (余裕が 500MBほど) swap 128MB 合計 2028MB
合計だいたい2Gです。これならまるごとDDしてもすぐ終わるサイズ。
ここで気になったのが、書き換えが頻発するのは / の領域のみ。
スワップが全然発生しなかったりする場合もあるはず。
というか2GBもあればスワップなんかめったに発生しません。
となるとSSDだった場合、/のパーティションばっかり消耗してしまうのではないか?という疑問が出てきます。
そんな疑問は愚問でした。
そんなだれでも思いつきそうな疑問なんかもともと想定されていたんですね。
当たり前といえば当たり前。
SSDで領域分割しても寿命に影響ないの?:PC Online
これで不安は解消されたのでインストール作業開始です。
もう何度もやっているので先に手順を整理しておきます。
- netインストールのCDからCentOS5.8をインストール
- /tmpをtmpfsへ
- wgetをインストール
- webminのyum用レポジトリを追加
- 署名のキーを追加
- yumでwebminインストール
- webからアクセスしてログイン
- 不要なサービスを停止
- Sambaをインストール
- SELinuxをオフ
- シャットダウン
- HDDを接続
- 電源をON
- fstabでHDDのマウント先を指定
- Samba設定
- ミラーリングのcron登録
- SVNをインストールして設定
- SVNバックアップをcron登録
こんなかんじです。
ログの外出しはやめたのでその作業は無くなってます。
毎回なんで wget 入れるんだっけ?と忘れてしまっているのですが、yumにwebminのレポジトリを追加したあとの証明書をインストールするためです。
では開始。
インストールは何度もやっているのでいつもどおり。
メモ: 2012秋のファイルサーバ復旧 03 CentOS6.3入れます→5.8にします
パーティションは今回はいつもと違うので画面写真を。
パーティション設定 |
インストールが終わったらsshでWindowsから入ってtmpfsの設定。
メモ: 2012秋のファイルサーバ復旧 11 tmpをtmpfsへ
# mv /tmp/* /dev/shm/ # mv /tmp/.ICE-unix /dev/shm/ # mv /tmp/.font-unix /dev/shm/ # rmdir /tmp # ln -s /dev/shm /tmp # ls -la / | grep tmp lrwxrwxrwx 1 root root 8 11月 4 20:16 tmp -> /dev/shm
wgetをインストール。
# yum install wget
webminをインストール
メモ: 省エネファイルサーバ構築 21 CentOS 5.6 webmin インストール
webmin用のリポジトリを設定
# vi /etc/yum.repos.d/webmin.repo [Webmin] name=Webmin Distribution Neutral #baseurl=http://download.webmin.com/download/yum mirrorlist=http://download.webmin.com/download/yum/mirrorlist enabled=1
証明書を取得してインストール
# cd /usr/local/src # wget http://www.webmin.com/jcameron-key.asc # rpm --import jcameron-key.asc # yum install webmin
インストールにちょっと時間がかかるみたいなので待機。
しかしここまでプチフリっぽい動きは一切なし。
やっぱりUSBメモリの読込の遅さが問題だったんだなあとわかりました。
インストールが終わったのでブラウザからログインしてみると、XSS対策のためにこのモジュールを入れなさいというメッセージが出てきたのでインストール。
Change Passwords というモジュールを入れろというメッセージ |
インストール完了 |
不要なサービスの停止。
不要なものにチェックし、Stopではなく、Disable No and On Boot ボタンをクリック。
何が不要なのかは↓の投稿を参照します。
メモ: 省エネファイルサーバ構築 22 CentOS 5.6 不要なサービスの停止
sambaのインストール
メモ: 省エネファイルサーバ構築 25 CentOS 5.6 samba インストール
Un-used Modules > Samba Windows File Sharing
インストールされてないのでリンクをクリックしなさいといわれるのでクリック
Windows Networking Options
Workgroup MYGROUP → WORKGROUP Server name d525mw
user synchronisation
Add a Samba user when a Unix user is added Yes Change the Samba user when a Unix user is changed Yes Delete the Samba user when a Unix user is deleted Yes Deleting the roaming profile when a Unix user is deleted Yes Rename the roaming profile when a Unix user is renamed Yes Group SID or RID for new users Default
System > Users and Group でlinuxのユーザを追加 (kmd)
Username kmd Shell /sbin/nologin Password No login allowed Primary group Existing group users Create home directory? No Copy template files to home directory? No Create user in other modules? No
Edit Config File
passdb backend = smbpasswd に変更
Convert Users でsambaにユーザを反映
Unix users to convert All except listed users and UID ranges -499 Update existing Samba users from their Unix details No Add new Samba users from the Unix user list Yes Delete Samba users who do not exist under Unix No For newly created users, set the password to: No password
sambaユーザの編集画面からパスワード変更
Password New password XXXXXXXXXXXXXX Password never expires
プリンタが不要なので Share Name が Printer となっているものを削除
不要なサービス停止をした画面で、今度はsmbを自動起動スルようにしておきます。
sambaの基本的な設定はこれで終わり。
SELinuxを無効化します。
# vi /etc/selinux/config #SELINUX=enforcing SELINUX=disabled
コレで一旦電源を切ってHDDを全部接続します。
そして起動。
マウント先のディレクトリを作成します。
# mkdir -p /var/storage/00/main # mkdir -p /var/storage/01/main # mkdir -p /var/storage/02/main # mkdir -p /var/storage/02/mirror # mkdir -p /var/storage/01/mirror # mkdir -p /var/storage/00/mirror # chmod 777 /var/storage/00/main # chmod 777 /var/storage/01/main # chmod 777 /var/storage/02/main # chmod 777 /var/storage/02/mirror # chmod 777 /var/storage/01/mirror # chmod 777 /var/storage/00/mirror
HDDのマウント先をfstabに追記します。
# vi /etc/fstab LABEL=00main /var/storage/00/main ext3 defaults 0 0 LABEL=00mirror /var/storage/00/mirror ext3 defaults 0 0 LABEL=01main /var/storage/01/main ext3 defaults 0 0 LABEL=01mirror /var/storage/01/mirror ext3 defaults 0 0 LABEL=02main /var/storage/02/main ext3 defaults 0 0 LABEL=02mirror /var/storage/02/mirror ext3 defaults 0 0
保存したら再起動して自動マウントさせます。
sambaの設定をします。
メモ: 2012秋のファイルサーバ復旧 09 samba設定
Create a new file share のリンクをクリックして、下記の内容で3つ設定
Share name : storage-00 Directory to share : /var/storage/00/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)
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)
Share name : storage-02 Directory to share : /var/storage/02/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)
作成した storage-00から02の Security and Access Control を変更。
Writable? : Yes Revalidate users? : Yes
同様に File Permissions も変更。
Force Unix user : root
最後にごみ箱の設定
Edit Config File を開いて
storage-00から02までの場所に下記の内容を追記します。
vfs objects = recycle recycle:repository = .recycle recycle:keeptree = yes recycle:versions = yes recycle:touch = no recycle:maxsize = 0
そしてsamba再起動。
ところで、「ごみ箱」と言ってますがWindowsのゴミ箱には入ってくれません。
sambaで設定したディレクトリのルートに「.recycle」というディレクトリが作成されてファイルがコピーされるだけです。
これはWindowsの仕様で、ネットワーク上の領域はファイルを削除したらその場で削除、となっていてサーバ上にローカルのHDDと同じようにゴミ箱ディレクトリがあっても無視されてしまうのです。
残念です。
ついにsambaの最後の設定です。
ミラーリングスクリプトをcron登録します。
が、前回のスクリプトだとrsyncインストールし忘れたときの rsync : command not found というエラーメッセージがログにでません。
標準出力に出てしまうためです。
なので一部修正します。
元ネタはこちら メモ: 2012秋のファイルサーバ復旧 09 samba設定
rsyncの行の最後に 2>&1 をつけてます。
#!/bin/bash # log directory log_dir="/var/storage/00/main/scripts/log" if [ ! -d $log_dir ] then mkdir $log_dir fi # log file path log_file=$log_dir"/sync_storage_"`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 2>&1 rsync -av --delete /var/storage/00/main/svn /var/storage/00/mirror >> $log_file 2>&1 rsync -av --delete /var/storage/01/main/data /var/storage/01/mirror >> $log_file 2>&1 rsync -av --delete /var/storage/02/main/data /var/storage/02/mirror >> $log_file 2>&1 # end echo "### End sync storage ############" >> $log_file date >> $log_file exit 0
rsyncのインストール
# yum install rsync
cronのインストール
# yum install vixie-cron
cronに登録
#crontab -e 0 13 * * 1-5 /var/storage/00/main/scripts/sync_storage.sh
これでsambaの設定は終わりです。
最後にsubversionを入れます。
# yum install subversion
インストールが完了したら自動起動の設定を入れます。
リポジトリ自動設定用コンフィグファイルを作成してサービス登録し、起動します。
# vi /etc/sysconfig/svnserve OPTIONS="--root=/var/storage/00/main/svn/repos" # chkconfig svnserve on # service svnserve start
これでインストール作業は全て完了です。
次回はHDDからSSDにDDしてみます。
ところで今回から成功した手順だけをまとめた記事には「成功手順」のラベルをつけました。
あとでヘッダのメニューにも成功手順用のリンクを付けておこうと思います。
完全に自分用ですが。
コメント
コメントを投稿