讀古今文學網 > OpenStack系統架構設計實戰 > 2.7.7 nova-volume >

2.7.7 nova-volume

nova-volume管理塊存儲設備,類似於Amazon的EBS,提供附加的塊存儲掛接給虛擬機。目前已經完全被Cinder所替代,但是在提供彈性能力的本質上,nova-volume和Cinder是一樣的。Cinder只是對nova-volume的進一步封裝,包括異構設備的支持、水平擴展能力的支持等。nova-volume管理的塊設備基於Linux的LVM(Logical Volume Manager),使用iSCSI進行掛接。因此,nova-volume節點上必須要安裝LVM包,也要安裝iSCSI的包。

在使用nova-volume之前,必須配置一個nova-volumes的卷組。事實上nova-volume是在名為nova-volumes的卷組上創建邏輯卷,來分配塊設備的。

配置LVM卷組可按照如下步驟:

1)創建分區。使用分區工具(如fdisk)創建LVM分區,方法和創建其他一般分區的方式是一樣的,區別僅僅是LVM的分區類型為8e。

2)創建物理卷。創建物理卷的命令為pvcreate,利用該命令,將希望添加到卷組的所有分區或者磁盤創建為物理卷。將整個磁盤創建為物理卷的命令如下:

# pvcreate /dev/hdb

將單個分區創建為物理卷的命令如下:

# pvcreate /dev/hda5

3)創建卷組。創建卷組的命令為vgcreate,將使用pvcreate建立的物理卷創建為一個完整的卷組:

# vgcreate nova-volumes /dev/hda5 /dev/hdb

vgcreate命令的第一個參數是指定該卷組的邏輯名:nova-volume。後面的參數是指定希望添加到該卷組的所有分區和磁盤。vgcreate除了創建卷組nova-volume以外,還設置使用大小為4MB的PE(默認為4MB),這表示卷組上創建的所有邏輯卷都以4MB為增量單位來進行擴充或縮減。由於內核原因,PE大小決定了邏輯卷的最大值,4MB的PE決定了單個邏輯卷最大容量為256GB。若希望使用大於256G的邏輯卷,則在創建卷組時指定更大的PE。PE大小為8KB~512MB,並且必須是2的倍數(使用-s指定,具體參考man vgcreate)。

創建完nova-volume卷組後,nova-volume可以使用lvcreate在卷組上創建任意大小的邏輯卷。這是nova-volume可隨意分配塊設備的核心。

nova-volume卷組分配好後,還需要配置iscsi,

sed -i's/false/true/g'/etc/default/iscsitargetservice iscsitarget start

在nova-controller.conf裡面配置好參數:

–iscsi_ip_prefix=10.46.169.157

重啟nova-volume服務即可。在外部可使用euca2tools工具進行驗證。euca2tools有以下4個命令與卷相關:

euca-create-volumeeuca-attach-volumeeuca-detach-volumeeuca-delete-volume

nova-volume的主要工作如下:

·Create volumes

·Delete volumes

·Establish Compute volumes