glusterfsのインストール
glusterfsのインストール覚書です。
事前作業
- レポジトリの追加
glusterfsのレポジトリを追加します。
# curl -Ls http://download.gluster.org/pub/gluster/glusterfs/LATEST/EPEL.repo/glusterfs-epel.repo > /etc/yum.repos.d/glusterfs-epel.repo
- パッケージのインストール
yumコマンドで各種パッケージをインストール
# yum -y install glusterfs-server \
glusterfs-libs \
glusterfs-api \
glusterfs-extra-xlators \
glusterfs-fuse \
glusterfs-geo-replication \
glusterfs-rdma \
glusterfs-resource-agents \
glusterfs-cli \
xfsprogs
- パーティション作成
glusterfsのbrickを作成するための領域をOS領域とは別にパーティションを作ります。
# fdisk /dev/sda
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本パーティション (1-4)
p
パーティション番号 (1-4): 4
最初 シリンダ (1-652, 初期値 1):
初期値 1 を使います
Last シリンダ, +シリンダ数 or +size{K,M,G} (1-652, 初期値 652):
初期値 652 を使います
コマンド (m でヘルプ): w
パーティションテーブルは変更されました!
ioctl() を呼び出してパーティションテーブルを再読込みします。
ディスクを同期しています。
- xfsでフォーマット
# mkfs.xfs -f -i size=512 /dev/sda3
meta-data=/dev/sda3 isize=512 agcount=4, agsize=622878 blks
= sectsz=512 attr=2, projid32bit=0
data = bsize=4096 blocks=2491510, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
- マウント先ディレクトリの作成
# mkdir -p /gfs/brick01
- fstab への記載 起動時に自動マウントされるようにfstabにマウント設定を記載します。
# cat << EOF >> /etc/fstab
/dev/sda3 /gfs/brick01 xfs defaults 0 0
EOF
GlusterFSの設定
- サービスの起動
# service glusterd start
- Peerの設定
# gluster peer probe vm02
peer probe: success.
- GlusterFSボリュームの作成
# gluster vol create vol01 \
replica 2 \
vm01:/gfs/brick01/vol01 \
vm02:/gfs/brick01/vol01
volume create: vol01: success: please start the volume to access data
- volumeの開始
# gluster vol start vol01
volume start: vol01: success
チューニング
- GlusterFSチューニング
# gluster vol set vol01 performance.cache-size 8GB
# gluster vol set vol01 performance.cache-max-file-size 100MB
# gluster vol set vol01 performance.cache-min-file-size 1KB
# gluster vol set vol01 performance.cache-refresh-timeout 1
# gluster vol set vol01 performance.io-thread-count 32
# gluster vol set vol01 performance.flush-behind On
# gluster vol set vol01 performance.write-behind-window-size 5MB
# gluster vol set vol01 network.frame-timeout 1800
# gluster vol set vol01 network.ping-timeout 30
- Kernelチューニング
# vi /etc/rc.local
sysctl -w vm.swappiness=10;
sysctl -w vm.dirty_background_ratio=1;
sysctl -w kernel.sched_wakeup_granularity_ns=15
for i in $(ls -d /sys/block/*/queue/iosched 2>/dev/null); do
iosched_dir=$(echo $i | awk '/iosched/ {print $1}')
[ -z $iosched_dir ] && {
continue
}
path=$(dirname $iosched_dir)
[ -f $path/scheduler ] && {
echo "deadline" > $path/scheduler
}
[ -f $path/nr_requests ] && {
echo "256" > $path/nr_requests
}
done
各種確認
確認関係
- peerの確認
gluster peer status
- ボリュームのステータス確認
gluster vol status vol01
- ボリュームの設定確認
gluster vol info vol01
- リバランスの確認
gluster vol rebalance vol01 status
brick操作関係
- brickの追加
gluster vol add-brick vol01 \
replica 2 \
vm03:/gfs/brick02/vol01 \
vm04:/gfs/brick02/vol01
- リバランス
これを実行しないとbrick追加しても新規配置されないっぽい。
gluster vol rebalance vol01 start
Comments
comments powered by Disqus