CRM系統|加入收藏|小博客
18560384436
>> 返回 您當前所在位置:首頁 >> 支持中心 >> 詳細內容

OpenStack Nova 的存儲管理

更新時間:2015-09-29 08:05:35點擊次數:4985次字號:T|T
OpenStack Nova 創建出來的 instance 不是所有的類型都有存儲的,比如 m1.tiny: Memory: 512MB, VCPUS: 1, Storage: 0GB, FlavorID: 1, Swap: 0MB, RXTX Quota: 0GB, RXTX Cap: 0MB 的存儲就是 0,也就是說關閉 m1.tiny 類型的 instance 后所有數據都會丟失。OpenStack Nova 使用 nova-volume 服務來管理存儲,可以把這種服務看成云計算時代的 USB,可以

OpenStack Nova 創建出來的 instance 不是所有的類型都有存儲的,比如 m1.tiny: Memory: 512MB, VCPUS: 1, Storage: 0GB, FlavorID: 1, Swap: 0MB, RXTX Quota: 0GB, RXTX Cap: 0MB 的存儲就是 0,也就是說關閉 m1.tiny 類型的 instance 后所有數據都會丟失。OpenStack Nova 使用 nova-volume 服務來管理存儲,可以把這種服務看成云計算時代的 USB,可以隨時 attach 到 instance 上做額外存儲,其實現和 Amazon 的 Elastic Block Storage (EBS) 不同,nova-volume 提供的是一種基于 Linux LVM 的 iSCSI 解決方案。

Nova-volume 需要一個單獨的分區做 LVM,如果系統上沒有多余的分區做 LVM 的話可以用一個文件來充當硬盤,當然這種方法只能自己測試玩玩,應用到生產環境最好還是用物理硬盤上的分區做 LVM.

新建一個文件來做 LVM:

# dd if=/dev/zero of=/home/vpsee/nova-volumes.img bs=1M seek=100000 count=0
# losetup -f nova-volumes.img

# losetup -a
/dev/loop0: [fb00]:24120015 (/home/vpsee/nova-volumes.img)

# vgcreate nova-volumes /dev/loop0
  No physical volume label read from /dev/loop0
  Physical volume "/dev/loop0" successfully created
  Volume group "nova-volumes" successfully created

# pvscan 
  PV /dev/sda5    VG node01         lvm2 [465.52 GiB / 48.00 MiB free]
  PV /dev/loop0   VG nova-volumes   lvm2 [97.65 GiB / 77.65 GiB free]
  Total: 2 [563.17 GiB] / in use: 2 [563.17 GiB] / in no VG: 0 [0   ]

默認情況下 iscsitarget 軟件包安裝后并沒有自動啟動,所以需要手動配置和啟動 iscsitarget 服務:

# vi /etc/default/iscsitarget
ISCSITARGET_ENABLE=true

# service iscsitarget start
 * Starting iSCSI enterprise target service

新建一個大小為 10GB 的 volume,檢查一下是否創建成功(available),并把剛創建的 volume 附加到正在運行的 instance 上,附加成功后再次檢查 volume 的狀態就變成 in-use 了:

# euca-create-volume -s 10 -z nova
VOLUME	vol-00000003	10	creating (mycloud, None, None, None)	2011-08-30T13:20:04Z

# euca-describe-volumes 
VOLUME	vol-00000003	 10		nova	available (mycloud, node01, None, None)	2011-08-30T13:20:04Z

# euca-describe-instances 
RESERVATION	r-i5927300	mycloud	default
INSTANCE	i-00000031	ami-00000006	172.16.39.224	172.16.39.224	running	mykey.priv (mycloud, node01)	0		m1.tiny	2011-08-26T07:12:57Z	nova		

# euca-attach-volume -i i-00000031 -d /dev/vdb vol-00000003
VOLUME	vol-00000003

# euca-describe-volumes 
VOLUME	vol-00000003	 10		nova	in-use (mycloud, node01, i-00000031[node01], /dev/vdb)	2011-08-30T13:20:04Z

如果想從運行的 instance 上卸載 volume 的話用 euca-detach-volume,卸載成功的話就會看到 volume 的狀態又變回 available 了:

# euca-detach-volume vol-00000003
VOLUME	vol-00000003

# euca-describe-volumes 
VOLUME	vol-00000003	 10		nova	available (mycloud, node01, None, None)	2011-08-30T13:20:04Z
? 美洲野牛免费试玩 重庆快乐十分开奖结果查询结果 幸运365软件是正规的嘛 抖音上开游戏直播能赚钱吗 魔域卖宝宝赚钱 后3组选包胆奖金怎么算 百变时时彩免费计划软件 7星彩怎么看中奖 306官方彩票安卓 时时彩技巧后一稳赢 炒股多少人能赚钱 体育彩票36选7规则 下载单机麻将免费游戏 自学赚钱 开个副食店赚钱 足彩进球彩预测 足球单场app