一、背景簡介
最近在學習性能測試,首先想到如果能真是搭建個基礎網站架構,肯定對進一步的學習有幫助,肯定比lordrunner自帶的那個網站程序更有幫助。在搭建的過程中,因爲是要建立個遠程文件服務器,glusterfs是個不錯的選擇,搭建glusterfs服務器費了不少周折,折騰了一個多星期才搞定,在這裏有必要總結下。
二、系統環境
環境中共3臺服務器,IP分別是172.17.1.135 172.17.1.134 172.17.1.133,其中133和134作爲glusterfs服務器端,135作爲客戶端掛載服務器端的卷。
三個服務器172.17.1.135 172.17.1.134 172.17.1.133的信息依次如下圖所示,
三、編譯安裝
三臺服務器上均執行以下安裝步驟
添加 epel 軟件源
rpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
安裝必要的依賴包
yum install -y aclocal autoconf aotuheader automake libtool
yum install -y automake autoconf libtool flex bison openssl-devel libxml2-devel python-devel libaio-devel libibverbs-devel librdmacm-devel readline-devel lvm2-devel glib2-devel userspace-rcu-devel libcmocka-devel yum -y install libacl-devel
掃描整個磁盤,發現有以前安裝過的glusterfs版本文件即刪除,請酌情使用,本人就在這一點被坑了一個多星期,原因是反覆安裝了好多次glusterfs多個版本,多餘的版本文件未清除,導致後來的glusterfs掛載出現版本不一致的問題。
find / | grep -i gluster | grep -Ei -v '/home|/tmp' | xargs rm -rf
yum -y remove `rpm -qa | grep -i gluster` 2>/dev/null
官網下載源碼包並編譯安裝,編譯耗時大概2分鐘,有問題看報錯,尋找解決辦法。
wget -c -P /tmp http://download.gluster.org/pub/gluster/glusterfs/3.7/3.7.3/glusterfs-3.7.3.tar.gz
cd /tmp
tar xvf glusterfs-3.7.3.tar.gz
cd glusterfs-3.7.15
./configure –enable-debug –disable-tiering
make && make install
gluster –version
四、glusterfs文件系統的掛載使用
兩個glusterfs服務器均添加兩塊硬盤,這裏是/dev/sdb,然後在兩臺服務器上分別創建lv捲餅格式化爲xfs文件系統餅掛載
parted -s -- /dev/sdb mktable gpt
parted -s -- /dev/sdb mkpart primary 2048s 100%
parted -s -- /dev/sdb set 1 lvm on
partx -a /dev/sdb
pvcreate /dev/sdb1
vgcreate vgglus1 /dev/sdb1
lvcreate -l 100%VG -n gbrick1 vgglus1
mkfs.xfs -i size=512 /dev/vgglus1/gbrick1
echo -e '/dev/vgglus1/gbrick1\t/data/gluster\txfs\tinode64,nobarrier\t0 0' >> /etc/fstab
mkdir -p /data/gluster/v1
mount /data/gluster
兩個glusterfs服務器組成一個存儲池,在172.17.1.134上執行以下命令,
gluster peer probe 172.17.1.133
創建glusterfs卷並啓動,這裏使用replica
gluster volume create gvol0 replica 2 172.17.1.133:/data/gluster/v1 172.17.1.134:/data/gluster/v1
gluster volume start gvol0
gluster volume info
客戶端172.17.1.135掛載glusterfs卷
mkdir -p /data/gvol0
mount -t glusterfs 172.17.1.134:/gvol0 /data/gvol0