Debianではapt-getじゃなくてaptitudeを推奨

2009 年 5 月 1 日 oinume コメントはありません

ここを読んでて知ったのですが、Debianではetchからパッケージ管理のフロントエンドとして apt-get じゃなくて aptitude を推奨するようになっていたのですね。依存関係がなくなった時点でパッケージを削除したり、推奨レベルのパッケージを一緒にインストールすることができるのが理由っぽい。

しばらくDebianの情報集めをしていなかったので、すっかり浦島太郎状態です…

カテゴリー: Debian タグ:

Ubuntu LinuxでSSDの寿命を延ばすための設定

2009 年 4 月 27 日 oinume コメントはありません

SSDの寿命が本当に短いのか実験していないので何とも言えませんが、Ubuntu LinuxでSSDの寿命を延ばすために行なった設定を書いておきます。本当に延びるかは謎です。

swap領域をSSD内に作らない

swap領域をSSDに作ってしまうと、仮想メモリを割り当てる際にSSDに書き込みをしてしまうのでこれは避けましょう。また、/etc/sysctl.conf に以下を追記してOSごと再起動します。(再起動の代わりに sysctl -p で即時に反映することもできます)

vm.swappiness = 0

この設定をするとswapにページアウトしにくくなります。

OSのキャッシュの書き込みの頻度調整

Ubuntuはデフォルトでは書き込み処理はすべてメモリ上にキャッシュされ、これを5秒に1回ディスクに書き込むという仕組みになっているらしいです。なので、このキャッシュを書き込む頻度を5秒から15秒にします。具体的には /etc/sysctl.conf に以下の行を追加します。

vm.dirty_writeback_centisecs = 1500

設定したら sysctl -p するかOSごと再起動しましょう。

mlocateを行なう頻度を少なく

locateコマンドのデータベースを作成する mlocate はデフォルトでは /etc/cron.daily にあるので1日1回動いてしまいます。これが動くと大量のディスク書き込みが発生するので、locateのデータベースを最新にしなくても良い場合、この mlocate は /etc/cron.weekly にでも移動しておきます。

/tmpはtmpfsに

/tmpは再起動するとどうせ消えるデータなので、SSDへの書き込みを少なくするために tmpfs でマウントするようにします。具体的には /etc/fstab にイカの行を追記して再起動します。

tmpfs   /tmp    tmpfs   defaults,size=512m      0       0

512m(=512MB)となっているところはお好みのサイズにしてください。

mountする際はnoatimeオプションをつける

デフォルトでは読み込みが発生する度にファイルの最終アクセス時刻が更新されてしまいますが、これも寿命を縮めてしまうので、noatimeオプションを導入します。(ただし、アクセス時刻を記録したい場合はこのオプションは導入しないでください)
具体的には /etc/fstab で

UUID=8bac1db5-e2c6-495f-b3ce-7390dea9392a /               ext3    relatime,errors=remount-ro 0       1

と relatime となっているところを noatime にします。

UUID=8bac1db5-e2c6-495f-b3ce-7390dea9392a /               ext3    noatime,errors=remount-ro 0       1
カテゴリー: Ubuntu タグ: ,

Ubuntu Server版をインストール後にやった4つのこと

2009 年 4 月 26 日 oinume コメントはありません

Ubuntu Linux 9.04(Jaunty Jackalope) のサーバ版をインストールした直後にやっておくべき作業の4つを覚え書きとしてまとめておきます。

IPアドレスを固定に

サーバ用途でDHCPというのはありえないので、固定IPに設定します。/etc/network/intafacesをエディタで開いて、まずDHCPでIPが自動に割り振られないように下記をコメントアウト。

iface eth0 inet dhcp
          ↓
#iface eth0 inet dhcp

さらにstatic IPの設定をします。下記設定は私のネットワーク環境での設定なので、実際のIPアドレスなどはご自身のものに読み替えてください。

iface eth0 inet static               # インタフェース名 eth0 を設定
        address 192.168.1.2       # IPアドレス
        netmask 255.255.255.0    # ネットマスク
        network 192.168.1.0       # ネットワークアドレス
        broadcast 192.168.1.255  # ブロードキャストアドレス
        gateway 192.168.1.1      # ゲートウェイアドレス

終わったらネットワークインターフェースを再起動します。

$ sudo /etc/init.d/networking restart

パッケージのアップデート

リリース直後にディストリビューションを新しいバージョンにアップデートした場合を除いて、パッケージが多々更新されているのでアップデートしておきます。

$ sudo aptitude update

パスワードなしで sudo できるように

セキュリティ的には良くない設定ですが、sudo する際にパスワードを入力するのは面倒なので、特定のアカウントだけパスワードなしで sudo できるようにします。

$ sudo su - 
# export EDITOR=vi
# visudo

して

accountname       ALL=(ALL)       NOPASSWD: ALL

を追記します。accountnameのところは自分のものに読み替えてください。また、

%admin ALL=(ALL) ALL

となっているところはコメントアウトします。なお、デフォルトだとエディタがnanoになっているので、export EDITOR=vi して visudo した時に vi が立ち上がるようにしています。

不要なdaemonを止める

まず /etc/init.d/ 配下のdaemonの起動を制御する sysv-rc-conf というパッケージを入れておきます。

$ sudo apt-get install sysv-rc-conf

そして

$ sudo sysv-rc-conf

で起動して、不要そうな daemon で X の目印がついているところを SPACEキーで X を外します。私は以下のdaemonを止めました。

  • acpid: 電源やバッテリー関連のデーモンでサーバ用途には不要だと思われます
  • atd: atによってキューに入れられたジョブを実行します。必要ないので停止しましょう。
  • dns-clean: よくわかりませんが pppconfig パッケージに含まれているものなので、止めました。(ルータとしては使用しないため)
  • dovecot: popは利用しないので停止
  • pppd-dns: これもよくわかりませんがルーターとしては使用しないので止めました。
  • rsync: rsync daemonは不要なので止めました。
カテゴリー: Ubuntu タグ:

SSDのマシンにUbuntu 9.04 Serverをインストール

2009 年 4 月 26 日 oinume コメントはありません

先週購入したSSDのマシンを組み立てました。SSDは2.5インチなので3.5インチ用のマウンタを買ったのですが、けっきょくネジをちゃんと締めれば必要なかったり、SATAのポートが2本しかないのにDVD-ROMがSATA接続だったり色々トラブルがあって5時間近くかかってしまいました。あと今回買ったShuttleのケースはなんとCPUファンじゃなくヒートシンクのみの構成でした。

CPUファンがなくてヒートシンクだけ

セットアップは無事完了したので、このマシンにUbuntu 9.04 Server版(amd64)をインストール。通常の7200RPMのHDDでhdparmした結果とSSDのマシンでhdparmした結果はこんな感じ。

### HDDのマシン
$ sudo hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:  174 MB in  3.01 seconds =  57.84 MB/sec
### SSDのマシン
$ sudo hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:  418 MB in  3.01 seconds = 138.86 MB/sec

すごい、2倍以上違う。さらにSSDはHDDより圧倒的に静かで軽いです。大きさも手のひらサイズでした。

SSDは手のひらサイズ

そして極めつけはUbuntuが起動するまでに約15秒しかかからないことでしょうか。え、もう起動したの?なんかバグってるんじゃない?っていうぐらい速かったです。今回購入したSSDはSilicon PowerのSP064GBSSD650S25で、いわゆる「プチフリ」するJMicronのJMF602のコントローラを積んでいるらしいのですが、プチフリ現象は今のところ起きてません。どのぐらい寿命が持つのかはわかりませんが、この速さは一度体感したら元には戻れない感じです。

カテゴリー: PC タグ:

「すべての「見える化」で会社は変わる」を読みました

2009 年 4 月 25 日 oinume コメント 2 件

すべての「見える化」で会社は変わる―可視化経営システムづくりのステップ

著者/訳者:長尾 一洋

出版社:実務教育出版( 2008-02 )

単行本 ( 247 ページ )



会社経営に興味があるわけではないのですが、Amazonでやたら評価が高かったので気になって読みました。21世紀の会社経営について、どうしていけば良いのかを明確にしていてすごくわかりやすかったです。この本から学んだことを箇条書きにしてみます。

  • 現代の会社経営は市場や環境の変化が早いため非常に難易度が高い。
  • そのような状況で経営していくには、KPIなどを決め数値をモニタリングし、経営のコックピットを作ることが大切(見える化)。会社経営は飛行機の操縦以上に難しい
  • 「見えるようにすれば、気付く→気付けば動く→動けば変化する→変化を目に見えるようにする」というサイクルを作ることが重要(ちょっと違うけどPDCAみたいなもの)
  • やる気・モチベーションのような精神論だけでは駄目。社員に考えさせて行動させる。
  • 社員に考えさせるにはビジョンや戦略を共有することが大事。同じ価値観・問題意識を醸成させる→今流行りの「全員が経営者」
  • 先月の売り上げなどの結果を見ることは大事だが、先行管理の方が重要。見積もり→受注→売上というプロセスがあるが、売上までには時間がかかるので、売上だけを見ても遅い。見積もり→受注のプロセスを管理するべし。
  • 見える化することで社員に対して公正な評価を付けやすくなる→ただ、100%公正にはできないと思いますが…
  • 競合他社を真似ることで短期的には他社に追いつけるが、それでは新しいマーケットは作れない。
  • 現場で起こっていることを知るには「IT日報」が一番。また日報をただの報告ではなく「今日の結果を考えて明日どうするか」を考えさせるツールにするべき。

本の最後の方は「IT日報」をどう活用するか、という話が多い気がしましたが、この人はIT日報エバンジェリストみたいなので、ここは話半分で読みました。全体的には非常にポイントがわかりやすく、色々勉強になった本でした。

カテゴリー: タグ:

Athlon X2 5050e+メモリ4GB+SSD 64GBで5万円

2009 年 4 月 21 日 oinume コメントはありません

このサイトがある自宅サーバが購入から3年を迎えたので、マシンの買い替えを検討。Pentium Dual-Core系でいくかAthlon X2でいくかで悩みましたが、省電力性と価格でAthlon X2 5050eで行くことに決めました。構成としては以下のスペックで、(64GBのSSDを買ったのに)なんと4万9000円に抑えられました。

先ほど全部ネットで注文して配達は今週末。さてどのぐらいのマシンパワーが出るのか非常に楽しみです。特にSSD化した時のMySQLの速度が気になります。

Now Loading...

Now Loading...

Now Loading...

Now Loading...

カテゴリー: PC タグ:

mysqldumpでバックアップをする時につけるオプション

2009 年 4 月 18 日 oinume コメントはありません

MySQLのデータベースをバックアップする際にmysqldumpを使用しますが、個人的に「これはつけたらよさそう」と思っているオプションを紹介します。

–opt

–quick –add-drop-table –add-locks –extended-insert –lock-tables を指定するのと同じです。ダンプしたデータをMySQL サーバに読み込むための最速ダンプを提供します。(マニュアルそのまんま)

–single-transaction

ダンプする際に先頭にBEGINをつけるため、ダンプ時のデータのトランザクションの一貫性を保つことができます。ただしInnoDBなどのトランザクションが有効なストレージエンジンではないと意味がないです。

–flush-logs

ダンプを開始する前に、MySQL サーバ内のログファイルをフラッシュします。バイナリログを保存するような設定になっている場合はこれがフラッシュされます。ダンプしたデータとバイナリログを使用してデータを復元する場合に有用です。

–master-data

CHANGE MASTER TOコマンドをダンプの先頭に付加します。–master-data=2を指定するとCHANGE MASTER TOがコメントアウトされた状態になります。–maser-data=1と指定するとコメントアウトされずにダンプされます。

–default-character-set

ダンプする際の文字コードを指定します。

–hex-blob

バイナリ型のデータをエスケープ処理を行わずに実際に格納された値の16進表記でダンプします。 これを指定しないと default-character-set がSJIS系の場合エスケープ処理に失敗し、バイナリデータが壊れてしまう場合があります。

まとめ

自分はこんな感じでバックアップをとっています。

$ mysqldump -uroot -pxxxxxxxx --opt --flush-logs --single-transaction --master-data=2 --default-character-set=utf8 --hex-blob <database>
カテゴリー: MySQL タグ:
Pages: << 1 2 3 4 5 6 7 8 ...16 17 18 >>