Proxmox VE 安裝、配置、使用之第四章 存儲使用


一、 ISCSI存儲

本例測試環境:

DELL R620 E5-2630 v2,128G,250SSD*2,Raid1 三臺,安裝Proxmox VE 5.X

Synology DS1817+ 雙核8G .4千兆口(添加一塊10G光纖),2TB*8,Raid1

Synology上已建好Target-1 iqn.2000-01.com.synology:DataCenter001.Target-1fcb817738X

1. 獲取查看iSCSItarget

執行命令

iscsiadm -m discovery -t sendtargets –p <target IP>

root@pve-01:~# iscsiadm -m discovery -t sendtargets -p 10.91.30.224

10.91.30.224:3260,1 iqn.2000-01.com.synology:DataCenter001.Target-1.fcb8177382

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的對話框:

image

圖4-1-1

依次命名ID(iSCSI-lvm)、選擇卷組(剛纔創建的卷組vg-pve會出現在下拉菜單中,選擇它即可)、節點(選所有)、選啓用、選共享,然後點添加。

現在共享存儲iSCSI-lvm就會出現在proxmoxVE各節點。共享存儲iSCSI-lvm爲LVM存儲,可將VM的硬盤創建或移動到上面運行以實現HA或經過它熱遷移VM。但LVM不支持精簡(Thin)磁盤和快照。

二、 NFS存儲

本節內容請參考本人另一篇文檔《Openfiler2.99.1圖文教程-搭創建ISCSI&NFS存儲》

三、 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

結果如圖

image

圖4-3-1

image

圖4-3-2

四、 Proxmox VE主機硬盤管理

一、硬盤管理

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

二、增加爲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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章