サイズ: 9233
コメント:
|
サイズ: 9460
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 178: | 行 178: |
* /etc/fstabを編集する。UUIDで記述されているところを/dev/(なんとか)に全部書き換える。 | * /etc/fstabを編集する。 * blkidコマンドを実行して新しい/bootパーティションのUUIDを確認。 * /etc/fstabを開いて、マウントポイントが/bootの行のUUIDを新しいUUIDに書き換える。 |
行 207: | 行 209: |
{{{ /dev/(/bootの場所) /boot btrfs ...... |
* UUIDがまた変わっているのでblkidコマンドで確認する。 {{{ UUID=(新しいUUID) /boot btrfs ...... |
行 212: | 行 215: |
# mount /dev/(/bootの場所) |
なにこれ
- なんかサーバー立ててる人多いし、自分も立ててみたいと思った
- でもうちにはMacしかない……
- MacにもServerOSはあるけど、高すぎる
- なら仮想環境上で動かそう!
と思ってたらカーネルハックしたらネイティブ環境で動作するようになった
- 当初の設計に無理が生じてきた→一から設計しなおすことにした
古い内容はこちらに移しました
ゴール
- blogを自分の管理下にあるサーバで運用する
- FreeBSDの実験、各種ネットワーク実験を行う
- →Linuxの実験、各種ネットワーク実験を行う
設計
システムを構成するサーバ
- 大きく分けて2つのサーバでシステムを運用することとする
VPS
- 980円の某VPS
- blogの運用をこちらに切り離す
- blogはトラフィックが大きいため、自宅での運用に不安が残ったため
- バックボーンの面でやはりVPSに分があった
- blog運用のため、PHP5およびMySQLの導入を行う
- Twitter botを運用する。
- ZFS Rootで運用
- Linuxに移行したので、btrfsでの運用に変更。
- 6rdでIPv6到達性を確保する
- 6rdが事情で使えなくなったので、6to4に移行。
ドメインの割り振り
- VPSには589lab.netのドメインを割り振る
実装
2011年6月17日
- 980円の某VPSを契約
- デフォルトでCentOSが入っているので、FreeBSDに差し替える
- 某VPSはコントロールパネルからOSの再インストールの命令を発行できる
- VNCで画面が自動的に飛んで来る。インストーラの指示に従ってインストール
http://fragile-graciousness.net/server_freebsd_zfs_root.htmlを参考に、ZFS Rootになるようにインストール
- とりあえず再起動
- minimalインストールなので、rootのパスワードが設定されていない。急いで設定する
# passwd
- ユーザがrootだけだと残念なので、通常使用するユーザを作成する
# adduser ***
- sudoをインストール
# cd /usr/ports/security/sudo # make install clean
- visudoを使ってwheelグループをsudoできるようにする
- rootからログアウトして、通常アカウントでログインしなおす
- 健康で文化的な最低限度のツールを入れる
- portmasterとかzshとかvimとか
- 各種設定ファイルをmoonからコピーしてくる
- scpを使えば良い
- MySQLとPHP5を入れる
MySQLの設定はここを参考にするhttp://freebsd.server-manual.com/freebsd8_mysql5.html
- 必要のないデータベースを削除し、wordpress用のデータベースを新しく作る
- MySQLは最初動かなかったが、一旦アンインストールしてもう一度入れ直したらうまくいった
- PHP5についてはphp5-extensionsを入れるのを忘れない←MySQLにphpからアクセスできなくなる
- httpd.confに次の記述を行う。
<IfModule dir_module> DirectoryIndex index.html index.php ←追加 </IfModule> <IfModule mime_module> AddType application/x-httpd-php .php </IfModule>
2011年6月20日
- どうもVPSが不安定である。どうやらZFSがやたらメモリを食ってパニックしている様子。
- メモリ使用量を減らす作業。
- phpMyAdminを導入。
- portsからインストール。php.iniで取り扱えるファイルサイズなどを変更。
- 巨大データベースファイルをアップロードしたりすることがあるため。
- portsからインストール。php.iniで取り扱えるファイルサイズなどを変更。
- DNSの設定を変更。
- フリーのDNSサーバを借りて、589lab.netのAレコードがVPSを向くようにした。
- munin-masterとmunin-nodeをインストールした。
- ntpdを起動するようにした。
- まず/etc/ntp.confを編集。
server ntp.nict.jp
- /etc/rc.confに追記。
ntpd_enable="YES"
- サービスを起動。
# service ntpd start
- 余談だが490円VPSは存外スペックが良かった
- pingの帰ってくるスピードが異常に速かったし
- 惜しむらくはFreeBSDに対応していないことだろう
2011年6月26日
- やたらDNSサーバへのキューが多いと思ったら、TTLが1分になってた
- キャッシュ汚染されても困るので1日に変更
2011年7月1日
- Apacheの設定をチューニング。サーバのレスポンスがよくなることに期待。
2011年8月23日
- VPSを再起動。ついでにsshのポート番号を変更しておく。
2011年11月4日-5日
- 長期メンテ。
- FreeBSD9.0-RC1入れてみる
- 6rdのパッチが使えなくなったので、v6への対応は6to4にすることにした。
- Tokyo6to4のお陰で、以前と違いレイテンシも大幅に軽減されている。
- git入れてみる。
- 共有リポジトリをVPS上に構築し、開発したものは全部そっちにおこうという計画。
- git-daemonさんがうまく動かず、苦労したがgit-daemonを直接叩くのではなく、gitコマンドを使ってdaemonを叩くようにするとなぜか動いた。
- とりあえず意味もなく現在作ってるbotのソースをpush。
2011年11月14日
- せっかくFreeBSD9.0を入れたのでZFSのバージョンを上げてみる。
# zpool upgrade -a # zfs upgrade -a
- そういえばZFSの機能を何もいかしていなかったなあとおもったので、snapshotをとるようにした。
- /var以外すべてをとるようにした
- 以下をcrontabに追記
zfs snapshot 名前@`date +%Y%m%d`
2011年12月25日
- 色々思う所があって、OSをLinuxに変えることにした。
- ゴールもそれに合わせて変更。FreeBSDだけではなくLinuxもいじれるようにしたいというのがあった。
- ディストリはDebianを選択。
btrfs boot
- せっかくなので完全btrfs化というのをやってみた。
インストールと準備
- まずVPSのコントロールパネルからDebianをインストール。ほぼ自動インストールになってて楽。'
- この時パーティションの切り方を通常とは少し変える。/パーティションとは別に/bootパーティションを用意する。
- /bootパーティションはext4
- /パーティションはbtrfsで用意する
- この時パーティションの切り方を通常とは少し変える。/パーティションとは別に/bootパーティションを用意する。
- sshでログインして、/etc/apt/sources.listに次を追記。(testingはいらんかもしれない)
deb ftp://ftp.jp.debian.org/debian sid main deb ftp://ftp.jp.debian.org/debian testing main
- aptitude updateする。
- zlib1g-dev zlibc kernel-package btrfs-tools libncurses-dev bzip2をインストール。
grubのアップデート
- grubの1.99をインストールする。
- 何か選択肢が出てくるが、一番上を選んでおく。
# aptitude install grub2 # grub-install /dev/sda
- ここで一旦再起動して、grubが動作することを確認。
/bootパーティションの修正
- /bootパーティションのブロックサイズがなぜか1024なので、4096として改めてファイルシステムを構築しなおす。
# umount /dev/(/bootの場所) # mkfs.ext4 -b 4096 /dev/(/bootの場所)
- /etc/fstabを編集する。
- blkidコマンドを実行して新しい/bootパーティションのUUIDを確認。
- /etc/fstabを開いて、マウントポイントが/bootの行のUUIDを新しいUUIDに書き換える。
- 改めて/bootをマウントしなおす。
# mount /dev/(/bootの場所)
カーネルのアップデート
- www.kernel.orgから3.1系のカーネルのソースコードをダウンロードしてきて、コンパイルする。
- 今回は実験環境でコンパイルしたものをコピーして使用した。
# cd /usr/src # wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.6.tar.bz2 # tar xvjf linux-3.1.6.tar.bz2 # cd linux-3.1.6 # make menuconfig # make-kpkg --initrd kernel_image kernel_headers # cd .. # dpkg -i *.deb # grub-install /dev/sda # mkinitramfs 3.1.6 -o /boot/initrd.img-3.1.6 # update-grub
- 一旦再起動して、カーネルが更新されていることを確認。
/bootのbtrfsへの変換
- /bootパーティションをbtrfsにコンバートする。
# umount /dev/(/bootの場所) # btrfs-convert /dev/(/bootの場所)
- /etc/fstabを書き換える。(/bootの行のext4→btrfsにする)
- UUIDがまた変わっているのでblkidコマンドで確認する。
UUID=(新しいUUID) /boot btrfs ......
- grubを更新。
# mount /dev/(/bootの場所) # update-grub