サーバをリプレースのため、環境を再構築。既存の環境からデータ及び環境を保つため、FreeBSD10で再構築していた。今回、pkg でずいぶん楽になったと言うことで、pkg install でいけるからとても楽。んでもって、既存の環境から、各種設定ファイルを持ってきたりして、なるべく同じ構成になるよう行っていた。んで。home などをごそっともっていったので、環境が日本語となっていた。という前提の上、proftpd をインストールし、設定し、動作確認を行おうとしたときに日本語のメッセージww
$ telnet 192.168.0.23 21
Trying 192.168.0.23...
Connected to 192.168.0.23.
Escape character is '^]'.
220 ProFTPD 1.3.5 Server (bsd) [::ffff:192.168.0.23]
500 不正なコマンド: もっと創造的になろうと努めなさい
500 不正なコマンド: もっと創造的になろうと努めなさい
quit
221 さようなら.
Connection closed by foreign host.
調べていると、原因はこれ。
nobody 4423 0.0 0.1 45312 6088 - Ss 4:23午後 0:00.01 VENDOR=amd SSH_CLIENT=192.168.0.8 50872 22
LOGNAME=tomo PAGER=lv OSTYPE=FreeBSD MACHTYPE=x86_64 MAIL=/var/mail/tomo
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin:/root/bin
HOST=bsdsrv15 PWD=/usr/local/etc _=/usr/local/etc/rc.d/proftpd GROUP=wheel TERM=screen SSH_TTY=/dev/pts/1
HOME=/root USER=tomo SSH_CONNECTION=192.168.0.8 50872 192.168.0.23 22 HOSTTYPE=FreeBSD SHELL=/bin/csh
LC_ALL=ja_JP.eucJP RC_PID=4406 BLOCKSIZE=K SHLVL=3 proftpd: (accepting connections) (proftpd)
上記の最後の方にある、「
LC_ALL=ja_JP.eucJP」が悪さをしていたようだ。手で起動したから、環境変数をそのまま引きずったんだろう。
てことで、
# unset LC_ALL
とやって、再起動若しくは、service コマンドを使えば、そういう環境変数の影響は受けないようだ。
そのためにあるコマンドなので、CentOSと同様、service コマンドを使うのが無難のようだ。
nobody 4695 0.0 0.1 40924 5740 - Ss 4:49午後 0:00.00 PATH=/sbin:/bin:/usr/sbin:/usr/bin PWD=/
HOME=/ RC_PID=4674 proftpd: (accepting connections) (proftpd)
$ telnet 192.168.0.23 21
Trying 192.168.0.23...
Connected to 192.168.0.23.
Escape character is '^]'.
220 ProFTPD 1.3.5 Server (bsd) [::ffff:192.168.0.23]
500 Invalid command: try being more creative
500 Invalid command: try being more creative
quit
221 Goodbye.
Connection closed by foreign host.
にしても、こんな翻訳したやつは誰だw。
「もっと創造的になろうと努めなさい」。
tomocha.net のサーバをやっとしました。7年ぶりです。
結構色々とあって大変だったのですが、心機一転、FreeBSD10-RELEASEになりました。
元々、FreeBSD6から運用をし始め、アップデートなどを行っていたのですが、最近portsが大幅に替わり、さらに、FreeBSD9.2 から、パッケージシステム(pkg)が採用されるなど、大きく変化がありました。また、ディスク容量が足りないといった事などもあり、これを機に物理的にリプレース。
今回の環境は、NEC Express 5800/R120b-1 MEM 24GB SAS 300GB *6 RAID6 BBU有りの構成へとなり、大幅にアップグレード。早いです。モノは、
2014年5月9日 NEC Express5800/R120b-1ネタで書いていたところ。実を言うと、リプレースに当たり、東京にある生活環境兼検証・開発環境であるHP ProLiant DL360 G6 の環境で2月頃より構築開始し、本番投入機であるNEC Express5800/R120b-1が4月末に納品されました。5月に新サーバの仮想環境の構築し、奈良に設置。この時、146GBのSAS HDD が結構手元に在庫があったということ、146GB *6 RAID6 の構成では、ディスク容量が足りないと言うことで、146GB *4 で RAID1+0、そしてデータ領域として、
TOSHIBA MQ01ABD100H 1TB (5400rpm, 8GB SSD-SLC)を使用して、RAID1の構成にしました。稼働し始めて、東京の開発環境から、VMイメージをVPN経由で転送し、本番稼働に向けて最終調整などを行いつつ、本番切換を使用とした矢先、サーバ構築後、1ヶ月半でTOSHIBAのSSHDが死ぬという事態に。データが復元出来なくなりました。あきらめて、SAS 300GB の玉を8本調達し、RAID6 + BBU調達という事に。大きな痛い出費です(涙)
でシステムを改めて再構築した後、再度 tomocha.net の再構築をして、やっと本番切換が出来るようになりました。ここはOSのインストールから環境構築まで手順書を作っていたので比較的短時間で完成。今回は物理から仮想へ再構築した環境への切換なので、リモート対応でも、比較的楽です。
切替メンテナンスの流れはこんな感じ。
まず、前提条件として、
- 旧サーバは、シリアルコンソールサーバに接続されている(iLOやILOMといったBMCでも構わない)
- 物理リンクは2本
- スイッチは管理機能が有るL2スイッチ
- 新サーバはVMware上に構築
といった構成。
VMware上の新サーバは本番のIPを付与し、VMの設定でNICを切断(リンクダウン状態)にしておきます。
*1
上記とは別に、管理用の追加NICを用意し、データの転送や環境構築を行います。
Webサーバに関しては、hostsファイルを書き換え、一通り問題がないか確認、そのほかのサービスにも異常がないか、telnetなどで直接たたき動作確認を行い、最後に切換をします。
さて、いよいよ切換直前。新サーバで一通り環境構築が完了し、ネットワークの設定ファイルで管理用のネットワークの設定を削除し、ルーティングテーブルなどを本番構成にあわせて修正し再起動します。この段階ではまだネットワークに接続されていないため、ntpなど、そういった起動時に外部との通信を行うサービスが有ると、タイムアウトするまで待つのが確認されますがこの場合は無視。すべてのサービスが無事起動することを確認します。これで準備完了です。念のため、手動で管理用のIPアドレスを付与(ifconfig em2 192.0.2.100/24 など)を行い、最後にデータの同期を行います。ここはrsyncを使っています。無事に必要なデータの同期がとれたら、いよいよ切換。旧本番サーバは、シャットダウンするのではなく、接続されているスイッチのポートをシャットダウンすることにより切り離します。なぜ、このようにするかというと、新サーバで異常があった祭、すぐに元の環境に切り戻しが出来るように行っています。てことで、スイッチに投入するconfigを準備しておきます。スイッチにconfigを投入し、旧本番系の切り離しが出来たら、新サーバのVMware側の切断していたNICを接続し、サーバの再起動を行います。これで、再起動により正しく起動することを保証しています。まあ、ntpとかは手で走らせて、追加したIPアドレスなどは後で手で消してもいいんですけどね。再起動することにより、GARPを投げる事を期待し、新しいMacAddressを学習させるためでも有ります。単なるつないだだけだと学習しないケースも有りますし、GARPを手で投げる方法でもいいですが、作業を増やして確認項目を増やすより、再起動の方がシンプルという考えで行っています。
ということで、停止時間1分未満で、無事に切換が完了。ぱちぱちぱちぱち。
ちなみに旧サーバは、先ほど少し書いていますが、次のような構成。
- HP ML115 G1
- DualCoreOpteron
- DDR2 ECC 6GB
- HDDはHP純正 FB080C4080 7200RPM 80GB *2 (RAID1, Onboard RAID)
ということで、このサーバを構築しリリースしたのは、2007.11.04でFreeBSD6.2-RELEASEでした。当時、導入をした後、1週間もしない間にリブートするという問題で、システムボードの初期不良を引いてしまいました。症状としては、リブートを繰り返したり、コンソールリダイレクションを行っているが、BMCに切り替えたり出来るので、その反応すら無くなり、物理的に電源のON/OFFを繰り返さないといけないという状態ということから、
システムボードの故障だと判断し、オンサイトを呼ました。当時私は静岡にいてたので、奈良の方エンジニアを呼び、作業させるという対応。最初入館方法についてしつこく聞かれたので、だから、個人の家なのでチャイムを鳴らして入ってください。いっても、携帯の持ち込みは大丈夫でしょうか?といった、データセンターを前提としたマニュアルでのヒアリングで、ちょっとなー。と思ったのが懐かしいです。
私が管理するサーバや機器は基本的にはシリアルコンソールサーバ(Avocent Cyclades ACS 48ポート)へ接続をしてあります
*2
。
その上で、BIOSリダイレクションを行っているので、リモートからどういった確認をしているかなど、リモートからでもよく様子がわかります。システムボードを更新した後、RAIDの構成をしようとしたときに、ディスクの内容を飛ばしかけていたので即座に電話をかけて、それ、RAID飛びますよ、もう一回手順を確認して作業し直してくださいといったのが懐かしいです。そして手順を確認したら、すみません、間違えていましたと言われました。どうやら、オンボードRAIDを使ったケースの経験は無く、SmartArrayなどを使ったケースしか経験が無かったようです。最初構築するときにRAIDの復旧方法を確認するのは、基本なので…。コントローラを交換した場合の移植テストも一応やってますので、助かりました。
こういった訳ありスタートの箱でしたが、その後非常に快適に稼働をし続け、今では7年近く。ディスクについても非常によくがんばってくれて、結構高負荷なサーバだったのにもかかわらずノートラブル。本当によく頑張ってくれました。これで、しばらくしたら引退ですね。
参考にS.M.A.R.Tはこんな感じ。
# smartctl -a /dev/ad4
=== START OF INFORMATION SECTION ===
Device Model: FB080C4080
Serial Number: 5RWXXXXXXX
Firmware Version: HPF0
User Capacity: 80,026,361,856 bytes
ATA Version is: 7
ATA Standard is: ATA/ATAPI-7 T13 1532D revision 4a
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 100 253 006 Pre-fail Always - 0
3 Spin_Up_Time 0x0002 098 097 000 Old_age Always - 0
4 Start_Stop_Count 0x0033 100 100 020 Pre-fail Always - 50
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0
7 Seek_Error_Rate 0x000f 088 060 030 Pre-fail Always - 802185935
9 Power_On_Hours 0x0032 033 033 000 Old_age Always - 59004
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0033 100 100 020 Pre-fail Always - 51
184 End-to-End_Error 0x0032 100 253 000 Old_age Always - 0
187 Reported_Uncorrect 0x003a 100 100 000 Old_age Always - 0
189 High_Fly_Writes 0x0022 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x001a 061 053 000 Old_age Always - 39 (Min/Max 17/47)
194 Temperature_Celsius 0x0000 039 047 000 Old_age Offline - 39 (0 16 0 0)
195 Hardware_ECC_Recovered 0x0032 069 064 000 Old_age Always - 72963425
197 Current_Pending_Sector 0x0000 100 100 000 Old_age Offline - 0
198 Offline_Uncorrectable 0x0000 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0000 200 200 000 Old_age Offline - 0
SMART Error Log Version: 1
No Errors Logged
# smartctl -a /dev/ad6
=== START OF INFORMATION SECTION ===
Device Model: FB080C4080
Serial Number: 5RWXXXXXXX
Firmware Version: HPF0
User Capacity: 80,026,361,856 bytes
ATA Version is: 7
ATA Standard is: ATA/ATAPI-7 T13 1532D revision 4a
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
SMART Attributes Data Structure revision number: 10
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000f 100 253 006 Pre-fail Always - 0
3 Spin_Up_Time 0x0002 098 097 000 Old_age Always - 0
4 Start_Stop_Count 0x0033 100 100 020 Pre-fail Always - 45
5 Reallocated_Sector_Ct 0x0033 100 100 036 Pre-fail Always - 0
7 Seek_Error_Rate 0x000f 088 060 030 Pre-fail Always - 785718509
9 Power_On_Hours 0x0032 033 033 000 Old_age Always - 59009
10 Spin_Retry_Count 0x0013 100 100 097 Pre-fail Always - 0
12 Power_Cycle_Count 0x0033 100 100 020 Pre-fail Always - 46
184 End-to-End_Error 0x0032 100 253 000 Old_age Always - 0
187 Reported_Uncorrect 0x003a 100 100 000 Old_age Always - 0
189 High_Fly_Writes 0x0022 100 100 000 Old_age Always - 0
190 Airflow_Temperature_Cel 0x001a 060 053 000 Old_age Always - 40 (Min/Max 19/47)
194 Temperature_Celsius 0x0000 040 047 000 Old_age Offline - 40 (0 17 0 0)
195 Hardware_ECC_Recovered 0x0032 072 063 000 Old_age Always - 205190877
197 Current_Pending_Sector 0x0000 100 100 000 Old_age Offline - 0
198 Offline_Uncorrectable 0x0000 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x0000 200 200 000 Old_age Offline - 0
SMART Error Log Version: 1
No Errors Logged
時間にすると、こんな感じ。
9 Power_On_Hours 0x0032 033 033 000 Old_age Always - 59004
9 Power_On_Hours 0x0032 033 033 000 Old_age Always - 59009
おおよそ、59000時間。
計算するとこんな感じですかね。
# expr 59000 / 24
2458
# expr 2458 / 30
81
約81ヶ月。すなわち、6年と9ヶ月。不良セクタも0、代替セクタも0というすばらしい長寿命。今時こういうディスクは本当に少ないですね。80GB時代は本当に良かったです。あ、SATA HDDの話しね。
*1:
暫定の仮VLANに足をおろしておくでも構いません。
本番と同じIPにする必要があるかというと、IPベースのVHOSTが存在するためです。
*2:
iLOやiLOMといった専用ポートなどが有る場合はネットワークに収容してます
すでに壊れて起動しなくなった、iPhone4S 64GBモデルがあり、脱獄し、root をとり、sshd を上げたりとUnix端末的な使い方をしていた。そのときに、ディスクベンチマークを行ったので、記録として貼り付けておく。
,iPhone4S-docomo:~ root# uname -a
Darwin iPhone4S-docomo 13.0.0 Darwin Kernel Version 13.0.0: Sun Dec 16 19:58:44 PST 2012;
root:xnu-2107.7.55~11/RELEASE_ARM_S5L8940X iPhone4,1 arm N94AP Darwin
iPhone4S-docomo:~ root# dd if=/dev/zero of=/private/var/testfile bs=512k count=1024
1024+0 records in
1024+0 records out
536870912 bytes (537 MB) copied, 15.3093 s, 35.1 MB/s
iPhone4S-docomo:~ root# dd if=/dev/zero of=/private/var/testfile bs=512k count=1024
1024+0 records in
1024+0 records out
536870912 bytes (537 MB) copied, 15.2894 s, 35.1 MB/s
iPhone4S-docomo:~ root# iostat 1
disk0 cpu load average
KB/t tps MB/s us sy id 1m 5m 15m
0.00 0 0.00 5 0 95 0.09 0.38 0.37
0.00 0 0.00 8 0 92 0.08 0.38 0.36
2048.00 19 37.89 17 0 83 0.08 0.38 0.36
459.09 79 35.33 25 0 75 0.08 0.38 0.36
1398.81 27 36.80 18 0 82 0.08 0.38 0.36
1934.44 18 33.90 17 0 83 0.08 0.38 0.36
1843.60 20 35.90 14 0 86 0.08 0.37 0.36
685.33 18 12.01 12 0 88 0.08 0.37 0.36
1843.80 20 35.90 16 0 84 0.08 0.37 0.36
1769.27 22 37.89 18 0 82 0.08 0.37 0.36
1945.80 20 37.91 18 0 82 0.08 0.37 0.36
1832.84 19 33.90 15 0 85 0.07 0.36 0.36
1877.67 12 21.93 13 0 87 0.07 0.36 0.36
1676.55 22 35.90 17 0 83 0.07 0.36 0.36
disk0 cpu load average
KB/t tps MB/s us sy id 1m 5m 15m
1476.80 25 35.80 17 0 83 0.07 0.36 0.36
1940.42 19 35.91 18 0 82 0.07 0.36 0.36
1843.60 20 35.90 12 0 88 0.15 0.37 0.36
550.13 15 8.03 4 0 96 0.15 0.37 0.36
0.00 0 0.00 5 0 95 0.15 0.37 0.36
0.00 0 0.00 2 0 98 0.15 0.37 0.36
0.00 0 0.00 4 0 96 0.15 0.37 0.36
性能は、昔のIDEのHDD並みというか、USB3.0並と言ったところだろうか。書き込みテストしかしていないが、その程度と思っていただければよい。結果、無線LANで11nの環境が有れば、無線の帯域はフルに使用し、データ転送は可能なレベルであることは解った。
こういうのってさ、IPカメラとか、プリンタとか、そういったデバイスは一度設置すると、動作しなくなるとか、設定変更するまで放置される傾向にあるし、設定変更のタイミングですら放置するのが世の中の大半なので、ゴロゴロとのぞき見し放題のカメラが世の中に放出されたってことになるよね。ニヤニヤ。楽しそうな世の中になりそうだ。どうやら影響を受ける機種は津後の通り。
- TS-WLCAM ファームウェアバージョン 1.06 およびそれ以前
- TS-WLCAM/V ファームウェアバージョン 1.06 およびそれ以前
- TS-WPTCAM ファームウェアバージョン 1.08 およびそれ以前
- TS-PTCAM ファームウェアバージョン 1.08 およびそれ以前
- TS-PTCAM/POE ファームウェアバージョン 1.08 およびそれ以前
- TS-WLC2 ファームウェアバージョン 1.02 およびそれ以前
最近のこの手のって、ファームウェアの自動更新って有効になってるんだっけ?とおもって、マニュアルをみたら、自動更新が出荷時設定になっているようなので、一応大丈夫ってことかな。LANで使用している場合はまあ 、そこまでたいした害はなさそうだし。
ま、余り気にする必要は無かったって事で。楽しいネタがあるかなぁとおもったが、期待はずれ。残念。
病院と次の仕事が決まったので就職に関する書類をやりとりするために目黒方面へ。
久々のランチ。ちょっとしたセレブ気分が味わえて素敵ですね♪
メイン。
ああ、おいしかったー
契約書類のやりとりをきちんとすませました。というのも、以前は超ひどくて、入社前に提示があった額面に対してOK(月41.1万)をだして、入社ということにしました。そのために静岡の会社を退職していたのですが、東京の家が決まり、引っ越ししている最中で、入社予定日の5日前に、条件変更(25.1万)されました。ちなみに正式な書面として、代表印のある採用通知書です。ただ、了承は口頭ベースだったので、正式に契約書を交わして、その金額でやるというのをやっていませんでした。
当初承諾した採用通知
変更された採用通知
入社誓約書には、額面が入っていないこと、入社時でいいですよってことでしたので、書面上でのやりとりは無しです。
しかも、ごねたとしても借金を作り、引っ越し費用を借りて、東京に出てきて、すべて破談すると、借金だけが残ります。なので、仕方なく了承せざる得ない状況でした。ちなみに、毎月60時間残業すれば、とりあえずは同じ金額になるよと言われ、渋々了承せざる得ない状況でした。最初の頃は、事業立ち上げでやりたかったことを普通では出来ない経験をさせてもらえたので、その間は辛抱して、自分の技術を磨くことに専念し、落ち着いたら転職をしようとずっと考えていたってことですかね。ま、事実上終わったわけですが。給料については色々ともめましたが最終的にはいくつか改善されましたが、当時の借金が多くて結構つらかったですよ。引っ越しに100万程かかっているわけで…。ちなみに、引っ越し費用を見積もり取ると520万円でしたので、自前で2トン車借りたり、ワゴンを借りたりして自前で引っ越ししました。手伝ってくれた人に感謝。借金返済には丸々3年かかりました。アルバイトや副業(請負)やアフィリエイトなどで何とかしないとまわりませんし、家賃も12万です。家の更新費も東京ではかかると言われ(大阪や静岡の時は、更新費とあっても、実際に払ったこと無い。)、それも支払ったりしていましたから…。
アフィリエイトだけで100万を超える収益を作ることが出来ました。借金返済の大半はこれで何とかしました。やっぱり、でかい…。
さすがに、一部上場の会社ではそういう変なのはないとおもっていたが、見事に引いてしまったので、今回の転職では、非常に慎重になってました。
そういうわけで、今回は過去にあった二の舞を踏まないようにするため、入社に関する契約関係の書類は事前にお互いの捺印を持って事前に済ませるため、次の会社(目黒)へ事情を説明し、すべて事前にすませました。ということで、入社予定日は9月からです。
んで、契約書をすませた後、次の会社の同僚になるひとと一緒にご飯を食べに行きました。
これで、やっと、普通の人になれるといいなぁ。