云盘支持
When user starts bare metal instance with Cinder volume, Nova orchestrates the communication with Cinder and Ironic. The work flow of the boot process is as follows:
- (Preparation) Administrator registers a node with initiator information.
- User asks Cinder to create a boot volume.
- User asks Nova to boot a node from the Cinder volume.
- Nova calls Ironic to collect iSCSI/FC initiator information. Ironic collects initiator information and returns it to Nova.
- Nova calls Cinder to attach the volume to the node. Cinder attaches the volume to the node and returns connection information which includes target information.
- Nova passes the target information for the node to Ironic
- Nova calls Ironic to spawn the instance. Ironic prepares the bare metal node to boot from the remote volume which is identified by target information and powers on the bare metal node.
In the work flow above, Nova calls Ironic to get/set initiator/target information (4 and 6) and also administrator calls Ironic to set initiator information (1) but currently Ironic has neither those information nor APIs for them.
1 | #pip install rbd-iscsi-client==0.1.8 -i https://pypi.tuna.tsinghua.edu.cn/simple |
1 | #cinder create 100 --display-name centos7-grub2-iscsi-pwd --image-id ea4266e4-456e-4fe0-91c9-a8c15dd2d2d6 --volume-type rbd_iscsi |
常见问题:
- volume状态是否是available
1 | #cat /data/docker/volumes/ironic_ipxe/_data/78\:ac\:44\:04\:f1\:a9.conf |
1 | #!ipxe |
bs=16k, iodepth=1
吞吐
顺序读 | 顺序写 | 随机读 | 随机写 | 混合随机读写 | |
---|---|---|---|---|---|
数据云盘sata | 246MB | 41.8MB | 291MB | 10.1MB | 7799kB/7894kB |
物理盘(sas*2 raid1) | 584MB | 1418MB/s | 127MB | 65.4MB | 40.2MB/40.1MB |
IOPS
顺序读 | 顺序写 | 随机读 | 随机写 | 混合随机读写 | |
---|---|---|---|---|---|
数据云盘sata | 15.0k | 2550 | 17.8k | 618 | 476/481 |
物理盘(sas*2 raid1) | 35.7k | 86.6k | 7747 | 3990 | 2451/2450 |
bs=4k,iodepth=1
吞吐
顺序读 | 顺序写 | 随机读 | 随机写 | 混合随机读写 | |
---|---|---|---|---|---|
数据云盘sata | 112MB | 14.1MB | 93.1MB | 2490kB | 2212kB/2238kB |
物理盘(sas*2 raid1) | 367MB | 372MB | 21.4MB | 15.0MB | 7252kB/7263kB |
IOPS
顺序读 | 顺序写 | 随机读 | 随机写 | 混合随机读写 | |
---|---|---|---|---|---|
数据云盘sata | 27.3k | 3431 | 22.7k | 607 | 559/565 |
物理盘(sas*2 raid1) | 89.5k | 90.8k | 5223 | 3904 | 1770/1773 |
吞吐 bs=1024k,iodepth=128,size=50G,ioengine=psync
顺序读 | 顺序写 | 随机读 | 随机写 | 混合随机读写 | |
---|---|---|---|---|---|
iSCSI云盘sata 600G | 840MB | 85MB | 830MB | 140MB | 135MB/140MB |
iSCSI云盘sata 4T | 840MB | 97MB | 870MB | 140MB | 135MB/140MB |
物理盘(sas*2 raid1) 600G | 520MB | 2650MB | 290MB | 150MB | 95MB/95MB |
物理盘(sata*1 raid0) 4T | 340MB | 140MB | 100MB | 120MB | 55MB/60MB |
物理盘(ssd*1 raid0) 800G | 280MB | 230MB | 420MB | 350MB | 175MB/180MB |
IOPS bs=4k,iodepth=128,size=50G,ioengine=psync
顺序读 | 顺序写 | 随机读 | 随机写 | 混合随机读写 | |
---|---|---|---|---|---|
iSCSI云盘sata 600G | 25.9k | 2663 | 20k | 799 | 602/609 |
iSCSI云盘sata 4T | 26k | 3167 | 25k | 828 | 600/600 |
物理盘(sas*2 raid1) 600G | 82.0k | 92.3k | 901 | 1232 | 685/694 |
物理盘(sata*1 raid0) 4T | 5.8k | 7k | 327 | 276 | 142/148 |
物理盘(ssd*1 raid0) 800G | 47.9k | 6k | 46.4k | 39.6k | 20.2k/20.2k |