何か決めなきゃ駄目ですか。



俺が決めたら、貴方はどうするんだい。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

PageTop

FreeBSD 8.1 + HAST

FreeBSD 8.1でHASTが普通に使えるとか。
ZFSと組み合わせてHAST + ZFS + iSCSI + ucarpが出来ると楽だろうなー、と思って、た。

http://wiki.freebsd.org/HAST
man hastd(8)

とりあえず、基本動作から見ていく。
ucarpは後回し。


準備ノード(1はfreebsd8.0からのupgrade。関係ないけど。)
ノード1 : FreeBSD 8.1-p0 hostname=hast-01
ノード2 : FreeBSD 8.1-p0 hostname=hast-02


手順はこんな感じか。
1.ノード1,2の/etc/hast.confに設定を書く。

resource hasthd1 {
local /dev/da1
on hast-01 {
remote 192.168.1.49
}
on hast-02 {
remote 192.168.1.48
}
}



2.ノード1,2でcreate。

hast-01# hastctl create hasthd1


hast-02# hastctl create hasthd1


3.ノード1,2でhastdの開始。

hast-01# echo hastd_enable="YES" >> /etc/rc.conf
hast-01# /etc/rc.d/hastd start


hast-02# echo hastd_enable="YES" >> /etc/rc.conf
hast-02# /etc/rc.d/hastd start


4.ノード1をprimaryに。

hast-01# hastctl role primary hasthd1


5.ノード2をsecondaryに

hast-02# hastctl role secondary hasthd1


6.確認コマンド

hast-01# hastctl status
hasthdd:
role: primary
provname: hasthdd
localpath: /dev/da1
extentsize: 2097152
keepdirty: 64
remoteaddr: 192.168.1.49
replication: memsync
status: complete
dirty: 0 bytes


hast-02# hastctl status
hasthdd:
role: secondary
provname: hasthdd
localpath: /dev/da1
extentsize: 2097152
keepdirty: 0
remoteaddr: 192.168.1.48
replication: memsync
status: complete
dirty: 0 bytes






hast.confのremoteの表記は、manによれば以下のどれでもいいらしい。

0.0.0.0
0.0.0.0:8457
tcp://0.0.0.0
tcp://0.0.0.0:8457
tcp4://0.0.0.0
tcp4://0.0.0.0:8457



IPv6では動かない。
↓こうなる。

# cat /etc/hast.conf
resource hasthddv6 {
local /dev/da2
on hast-01 {
remote tcp6://2001:380:e08:f7::49
}
on hast-02 {
remote tcp6://2001:380:e08:f7::48
}
}
# hastctl status
hasthddv6:
role: init
provname: hasthddv6
localpath: /dev/da2
extentsize: 0
keepdirty: 0
remoteaddr: tcp6://2001:db8:e08:f7::48
replication: memsync
dirty: 0 bytes
# hastctl role primary hasthddv6
# hastctl status
[ERROR] Error 57 received from hastd.



どこかにIPv6じゃ動かない、って書いてあったかなぁ・・・。

閑話休題。


で、これでブロックデバイス(のようなもの)が共有できたので、primary側でZFS poolを作る。
どちらにせよ、secondary側では/dev/hast/hasthd1が見えないはずなので作れない。

フルパスで指定する。

# zpool create hast-zfs /dev/hast/hasthd1



で、primaryとsecondaryを入れ替える。(手動で。
ノード1をsecondaryに

hast-01# hastctl role secondary hasthd1


ノード2をprimaryに。

hast-02# hastctl role primary hasthd1



で、こうすると元primaryは残念な感じに。

hast-01# zpool status
pool: hast-zfs
state: UNAVAIL
status: One or more devices could not be opened. There are insufficient
replicas for the pool to continue functioning.
action: Attach the missing device and online it using 'zpool online'.
see: http://www.sun.com/msg/ZFS-8000-3C
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
hast-zfs UNAVAIL 0 0 0 insufficient replicas
hast/hasthd1 UNAVAIL 0 0 0 cannot open



新しくprimaryになったhast-02は、/dev/hast/hasthd1が見えるようになっているので、importできる。

hast-02# zpool import -f hast-zfs


とはいえ、直前まで元primaryが使用していたため、-fつけないと無理。

元primaryのhast-01側では、zpool statusするとUNAVAILが残っていてうっとうしいからって、
いきなりzpool destroy hast-zfsするとプロンプト帰ってこなくなるのでよろしく。


もう少し調べる。

スポンサーサイト

PageTop

Debian 5.0.5 + MySQL 5.5.5-m3

インストールするだけのつまらない記事です。

まずソースコードをダウンロードします。

http://dev.mysql.com/downloads/mysql/5.5.html#downloads
Development Releasesから、Source CodeをSelectして、
Generic Linux (Architecture Independent), Compressed TAR Archiveを入手。

ビルドに必要な物を先にインストール

# apt-get install build-essential
# apt-get install libncursesw5-dev



解凍

# tar zxvf mysql-5.5.5-m3.tar.gz



./configure

# cd mysql-5.5.5-m3
# ./configure --with-plugins=innobase


※下記の場合はlibncurses5-devまたはlibncursesw5-devのインストール。

checking for termcap functions library... configure: error: No curses/termcap library found



./configure後、Makefileを書き直す。
参考 : http://bugs.mysql.com/bug.php?id=55350
参考から抽出。

Suggested fix:
Temp fix was remove @ndbcluster_includes@ from ./extra/Makefile and ./sql/MakeFile plus
remove @NDB_SCI_LIBS@ from ./sql/MakeFile



viで./extra/Makefileを開いて、:%s/@ndbcluster_includes@//g
viで./sql/MakeFileを開いて、:%s/@ndbcluster_includes@//g、:%s/@NDB_SCI_LIBS@//g

sedで書くと、

# sed -i -e 's/@ndbcluster_includes@//g' sql/Makefile
# sed -i -e 's/@ndbcluster_includes@//g' extra/Makefile
# sed -i -e 's/@NDB_SCI_LIBS@//g' sql/Makefile



make。

make && make install




終わり。

PageTop

GT110b + ESXi

GT110bから普通にESXi起動するってば!
特に語ることは無いくらい普通に動くよ!

GT110b_ESXi_001.png

PageTop

ESXiとNFS

こんな話題がある。

http://www.techhead.co.uk/how-to-view-your-vmware-esxi-hosts-system-log-config-and-datastore-via-a-web-browser

普段ノンスピンドルなESXiサーバ(所謂USBブートしてるML115とか)では、
OSのインストールにはCDを突っ込むかNFSを用いたisoを使うわけだ。

もちろん面倒くさがりな僕はNFSを使うわけだけど、NFS自体の設計に気を遣わなかったせいで、
上記URLにあるように、https://%{HTTP_HOST}/folderにアクセスしたらNFSの中身が丸見えだった。
Oh.こいつはまずい。
(なんせESXiにアクセスしたら俺のアニメディレクトリが公開されt(ry

なんと言っても用途ごとにNFSを分けてないあたりが非常に良くない。

とりあえず新しくisoディレクトリだけをexportsして事なきを得ようと思う。

PageTop

ZFS可愛い

ファイルサーバにSATAコントローラを装着した。
何も考えずに起動した。

するとどうだ。
ad6がad14に、ad8がad16に、ad10が(以下略

それでもZFSは可愛い奴だ。
そんなデバイス名に翻弄される俺ではない。と、言わんばかりにマウント。

俺のドジを支えてくれるZFSに今日も感謝の念が絶えないのであった。

FreeBSD7.3にアップグレードしたので、ZFSもVersion 13にあげた。

今日もストレージが平和でありますように。

PageTop
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。