1、 ISCSI存儲node
本例測試環境:linux
DELL R620 E5-2630 v2,128G,250SSD*2,Raid1 三臺,安裝Proxmox VE 5.Xweb
Synology DS1817+ 雙核8G .4千兆口(添加一塊10G光纖),2TB*8,Raid1緩存
Synology上已建好Target-1 iqn.2000-01.com.synology:DataCenter001.Target-1fcb817738X網絡
1. 獲取查看iSCSItargetide
執行命令性能
iscsiadm -m discovery -t sendtargets –p <target IP>測試
root@pve-01:~# iscsiadm -m discovery -t sendtargets -p 10.91.30.224this
10.91.30.224:3260,1 iqn.2000-01.com.synology:DataCenter001.Target-1.fcb8177382blog
2. 登陸iSCSI目標
在各節點上分別執行如下操做登陸iSCSI目標
a.執行命令iscsiadm -m node -T <iSCSI-target> -p <target-IP> -l登陸iSCSI目標:(鏈接iscsi)
iscsiadm -m node -T iqn.2000-01.com.synology:DataCenter001.Target-1.fcb817738x -p 10.91.30.224 –l
b.爲了重啓系統能自動登陸目標,執行如下命令:(不作此步,重啓iscsi沒法鏈接)
iscsiadm -m node -p 10.91.30.224 –op update -n node.startup -v automatic
如今,在該節點上增長了新的磁盤/dev/sdb(本地磁盤只有/dev/sda一個)。
3. 在iSCSI磁盤 /dev/sdb上建立LVM分區、建立物理卷、建立卷組(只在某一個節點進行以下操做便可。)
a.執行磁盤分區命令:
root@pve-01:/#fdisk /dev/sdb
Welcome to fdisk(util-linux 2.25.2).
Changes will remainin memory only, until you decide to write them.
Be careful beforeusing the write command.
Command (m forhelp):g (創建GPT分區表)
…………
Command (m forhelp):n (創建一個新的分區,輸入分區號、起始結束扇區等)
…………
Command (m forhelp):t (改變分區類型31)
Selected partition1
Partition type(type L to list all types):31 (分區1的類型改變爲Linux LVM)
Command(m for help): w (寫入磁盤並退出fdisk)
b.在分區/dev/sdb1上建立物理卷physical volume (PV):
pvcreate /dev/sdb1
c.建立卷組volume group (VG),VG名爲「vg-pve」
vgcreate vg-pve /dev/sdb1
至此,iSCSI共享存儲已準備就緒。可供proxmoxVE使用了。
注意:如多網卡同時鏈接iscsi存儲,會出現多路徑問題,請一個一個的添加(也可先作網口匯聚)
4. 在proxmox VE的GUI中增長共享存儲
用鼠標依次選:數據中心-存儲-添加-LVM
出現添加LVM的對話框:
圖4-1-1
依次命名ID(iSCSI-lvm)、選擇卷組(剛纔建立的卷組vg-pve會出如今下拉菜單中,選擇它便可)、節點(選全部)、選啓用、選共享,而後點添加。
如今共享存儲iSCSI-lvm就會出如今proxmoxVE各節點。共享存儲iSCSI-lvm爲LVM存儲,可將VM的硬盤建立或移動到上面運行以實現HA或通過它熱遷移VM。但LVM不支持精簡(Thin)磁盤和快照。
2、 NFS存儲
本節內容請參考本人另外一篇文檔《Openfiler2.99.1圖文教程-搭建立ISCSI&NFS存儲》
3、 Ceph存儲
1. 搭建ceph使用本地掛載硬盤爲proxmox 提供存儲空間
在線安裝
luminous 爲ceph10.2
hammer 爲ceph0.94
每一個節點執行
# pveceph install --version luminous
2. 配置ceph網絡
在主節點執行(在任意一個節點執行便可,執行一遍)
# pveceph init --network 10.91.30.0/24
3. 建立ceph監視器mon
能夠建立多個mon,在3個節點執行建立奇數個mon
# pveceph createmon
查看mon狀態
# ceph mon stat
4. 建立OSD
# pveceph createosd /dev/sdb
查看ceph osd 運行狀態
# cpeh osd stat
# ceph osd tree
5. 建立存儲池
# ceph osd pool create pool1 128 128
6. web登錄
https://IP:8006
結果如圖
圖4-3-1
圖4-3-2
4、 Proxmox VE主機硬盤管理
1、硬盤管理
1查看硬盤
#fdisk -l
例若有/dev/sdb
2 新建一個分區
# sgdisk -N 1 /dev/sdb
3 建立pv
#pvcreate --metadatasize 250k -y -ff /dev/sdb1
4 建立vg
#vgcreate pve1 /dev/sdb1
5 建立lv 這裏100g根據本身硬盤大小填寫
#lvcreate -L 100g -n data pve1
6 轉換爲thin-pool
#lvconvert --type thin-pool pve1/data
7 警告:
在某些狀況下,LVM不會正確計算元數據池/塊大小。請檢查metadatapool是否足夠大。必須知足的公式是:
PoolSize / ChunkSize * 64b = MetadataPoolSize
你能夠經過命令獲取這些信息
#lvs -a -o name,size,chunk_size
8 增長到存儲 能夠在數據中心存儲 直接添加lvm-thin id:lvm1, 卷組:pve1, thin pool:data
或者編輯/etc/pve/storage.cfg
lvmthin: lvm1
thinpool data
vgname pve1
content rootdir,images
Creating a Volume Group
Let’s assume we have an empty disk /dev/sdb, onto which we want to create a volume group named 「vmdata」.
Caution Please note that the following commands will destroy all existing data on /dev/sdb.
First create a partition.
# sgdisk -N 1 /dev/sdb
Create a Physical Volume (PV) without confirmation and 250K metadatasize.
# pvcreate --metadatasize 250k -y -ff /dev/sdb1
Create a volume group named 「vmdata」 on /dev/sdb1
# vgcreate vmdata /dev/sdb1
Creating an extra LV for /var/lib/vz
This can be easily done by creating a new thin LV.
# lvcreate -n <Name> -V <Size[M,G,T]> <VG>/<LVThin_pool>
A real world example:
# lvcreate -n vz -V 10G pve/data
Now a filesystem must be created on the LV.
# mkfs.ext4 /dev/pve/vz
At last this has to be mounted.
Warning be sure that /var/lib/vz is empty. On a default installation it’s not.
To make it always accessible add the following line in /etc/fstab.
# echo '/dev/pve/vz /var/lib/vz ext4 defaults 0 2' >> /etc/fstab
Resizing the thin pool
Resize the LV and the metadata pool can be achieved with the following command.
# lvresize --size +<size[\M,G,T]> --poolmetadatasize +<size[\M,G]> <VG>/<LVThin_pool>
Note When extending the data pool, the metadata pool must also be extended.
Create a LVM-thin pool
A thin pool has to be created on top of a volume group. How to create a volume group see Section LVM.
# lvcreate -L 80G -T -n vmstore vmdata
2、增長爲zfs格式:
建立存儲池(type raidz 兩塊硬盤是raid1,三塊硬盤是raid5,還能夠用raidz1,2,3等高級用法)
性能對比
Stripe > Mirror
Stripe > RAIDZ1 > RAIDZ2 > RAIDZ3
數據可靠性
Mirror > Stripe
RAIDZ3 > RAIDZ2 > RAIDZ1 > Stripe
zpool create -f -o ashift=12 <pool> <type> <device> log <device-part1> cache <device-part2>
對已有pool增長緩存
zpool add -f <pool> log <device-part1> cache <device-part2>
更換失敗的硬盤
zpool replace -f <pool> <old device> <new-device>
pool存儲池丟失處理.no pools avaliable
查看存儲池狀態
#zpool status -v
刪除緩存
#rm -f /etc/zfs/zpool.cache
導入存儲池
#zpool import zfs-v
若是提示 -f
#zpool import -f zfs-v
若是有設置過緩存或者log,可能會提示 -m
#zpool import -f zfs-v -m
LVM使用緩存
#sda爲HDD sdb爲SSD
建立物理卷
pvcreate /dev/sda
pvcreate /dev/sdb
建立卷組vg
vgcreate vg /dev/sda
vgextend vg /dev/sdb
建立邏輯卷(data爲存儲卷,cache爲緩存卷,meta爲緩衝卷索引,其中cache:meta不能大於1000:1,meta最小爲8M)
lvcreate -L 500G -n data /dev/sda
lvcreate -L 220G -n cache /dev/sdb
lvcreate -L 220G -n meta /dev/sdb
建立緩存池(注意cache和meta的順序不能顛倒)
lvconvert --type cache-pool --poolmetadata vg/meta vg/cache
將存儲卷加入到緩存池中(cachemode有writeback和writethrough兩種模式,默認爲writethrough)
lvconvert --type cache --cachepool vg/cache --cachemode writeback vg/data
注:writeback會在寫入cache完成後,再寫入date中
writethrough會在寫入cache的同時,寫入date(寫入date慢於cache)