第一章 GlusterFS應用環境
GlusterFS主要應用於大文件的存儲場景,如果是小文件比較多的情況建議用fastd。
GlusterFS是Scale-Out存儲解決方案Gluster的核心,它是一個開源的分佈式文件系統,具有強大的橫向擴展能力,通過擴展能夠支持數PB存儲容量和處理數千客戶端。GlusterFS藉助TCP/IP或InfiniBand RDMA網絡將物理分佈的存儲資源聚集在一起,使用單一全局命名空間來管理數據。GlusterFS基於可堆疊的用戶空間設計,可爲各種不同的數據負載提供優異的性能。
1.擴展性和高性能
GlusterFS利用雙重特性來提供幾TB至數PB的高擴展存儲解決方案。通過彈性哈希解決了對元
數據黑咖啡 的需求,消除了單點故障和性能瓶頸,真正實現了並行化數據訪問。
2.高可用
GlusterFS可以對文件進行自動複製,如鏡像或多次複製,從而確保數據總是可以訪問,甚至在
硬件故障的情況下也能正常訪問。自我修復功能能夠把數據恢復到正確的狀態,而且修復是以增
量的方式在後臺執行,幾乎不會產生性能負載。
3.統一命名空間
全局統一命令空間將磁盤和內存資源聚集成一個單一的虛擬存儲池,對上層用戶屏蔽了底層的物
理硬件。存儲資源可以沒有數量限制,成千虛擬機均通過單一掛載點進行數據共享。虛擬機I/O
可在命名空間內的所有服務器上自動進行負載均衡,消除了SAN環境中經常發生的訪問熱點和
性能瓶頸問題。
第二章 實戰應用
實現把web01和web02的/uploads目錄掛載到NFS01和NFS02的/data下
1. 準備階段
[root@NFS01-31 ~]# getenforce
Disabled
[root@NFS01-31 ~]#
[root@NFS01-31 ~]#
[root@NFS01-31 ~]# systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
Active: inactive (dead)
Docs: man:firewalld(1)
2. yum下載服務需要特殊的gluster源
wget -P /etc/yum.repos.d/ http://download.gluster.org/pub/gluster/glusterfs/3.7/LATEST/RHEL/glusterfs-epel.repo
yum install --nogpgcheck -y glusterfs-server
3. 啓動glusterd服務僅N1和N2啓動
systemctl start glusterd.service
4. 把NFS02加入池
[root@NFS01-31 ~]# gluster peer probe 172.16.1.32
peer probe: success.
5. 查看池子
[root@NFS01-31 ~]# gluster peer status
Number of Peers: 1
Hostname: 172.16.1.32
Uuid: aa670de8-5a11-411b-81d5-cd21e4af99e2
State: Peer in Cluster (Connected)
6. 創建複製卷(僅在NFS01操作)
[root@NFS01-31 ~]# gluster volume create pick replica 2 172.16.1.31:/data 172.16.1.32:/data force
volume create: pick: success: please start the volume to access data
7. 查看卷信息
[root@NFS01-31 data]# gluster volume info
Volume Name: pick
Type: Replicate
Volume ID: 41d37c3d-eb8c-45e0-a234-7b0b1ffb1e42
Status: Created
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: 172.16.1.31:/data
Brick2: 172.16.1.32:/data
Options Reconfigured:
performance.readdir-ahead: on
8. Status:Created是關閉 所以要開啓卷
[root@NFS01-31 data]# gluster volume start pick
volume start: pick: success
9. 檢查是否開啓
[root@NFS01-31 data]# gluster volume info
Volume Name: pick
Type: Replicate
Volume ID: 41d37c3d-eb8c-45e0-a234-7b0b1ffb1e42
Status: Started
Number of Bricks: 1 x 2 = 2
Transport-type: tcp
Bricks:
Brick1: 172.16.1.31:/data
Brick2: 172.16.1.32:/data
Options Reconfigured:
performance.readdir-ahead: on
10. 掛載卷Web01&Web02
[root@w1 ~]# mount -t glusterfs 172.16.1.31:/pick /application/nginx/html/blog/wp-content/uploads/
11. 查看掛載信息
[root@web01-7 data]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 48G 1.8G 47G 4% /
devtmpfs 479M 0 479M 0% /dev
tmpfs 489M 0 489M 0% /dev/shm
tmpfs 489M 6.7M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 1014M 133M 882M 14% /boot
tmpfs 98M 0 98M 0% /run/user/0
172.16.1.31:/pick 48G 1.7G 47G 4% /data
success!
第三章 其他操作
1. 取消掛載
[root@w1 ~]# umount /application/nginx-1.10.2/html/blog/wp-content/uploads
[root@w1 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.9G 3.7G 2.8G 58% /
tmpfs 491M 0 491M 0% /dev/shm
/dev/sda1 190M 33M 147M 19% /boot
2. 停止卷
[root@n1 ~]# gluster volume stop pick
Stopping volume will make its data inaccessible. Do you want to continue? (y/n) y
volume stop: pick: success
3. 移除brick(必須移除再刪除卷)
[root@n1 ~]# gluster volume remove-brick pick replica 1 n1:/data/ force
Removing brick(s) can result in data loss. Do you want to Continue? (y/n) y
volume remove-brick commit force: success
移除一個即可
4. 刪除卷
[root@n1 ~]# gluster volume delete pick
Deleting volume will erase all information about the volume. Do you want to continue? (y/n) y
volume delete: pick: success
5. 刪除卷
[root@n1 ~]# gluster peer detach n2
peer detach: success
6. 磁盤平衡
磁盤平衡時很有必要的(平衡佈局:rebalance),因爲佈局結構是靜態的,當新的bricks加入先有卷,新創建的文件會分佈到舊的Bricks中,只有平衡佈局(rebalance),新加入的磁盤纔會生效。