{"id":276,"date":"2018-03-13T10:14:20","date_gmt":"2018-03-13T02:14:20","guid":{"rendered":"http:\/\/www.max-shu.com\/blog\/?p=276"},"modified":"2018-03-13T10:14:20","modified_gmt":"2018-03-13T02:14:20","slug":"openstack-nova%e7%9a%84%e5%ad%98%e5%82%a8%e3%80%81ephemeral%e4%bb%a5%e5%8f%8a%e8%99%9a%e6%8b%9f%e6%9c%ba%e5%ae%9e%e4%be%8b%e7%9a%84%e5%a4%87%e4%bb%bd%e4%b8%8e%e6%81%a2%e5%a4%8d","status":"publish","type":"post","link":"http:\/\/www.max-shu.com\/blog\/?p=276","title":{"rendered":"Openstack nova\u7684\u5b58\u50a8\u3001ephemeral\u4ee5\u53ca\u865a\u62df\u673a\u5b9e\u4f8b\u7684\u5907\u4efd\u4e0e\u6062\u590d"},"content":{"rendered":"<div><b><span style=\"color: #ff0000;\">\u4e00\u4e2a\u4f8b\u5b50\uff1a<\/span><\/b><br \/>\n# ll -h<br \/>\n-rw-r&#8211;r&#8211;. 1 root root\u00a0<span style=\"color: #ff0000;\">204M<\/span>\u00a0Feb 29 19:21 f16-x86_64-openstack-sda.qcow2<\/p>\n<p># qemu-img info f16-x86_64-openstack-sda.qcow2<br \/>\nimage: f16-x86_64-openstack-sda.qcow2<br \/>\nfile format: qcow2<br \/>\nvirtual size:\u00a0<span style=\"color: #8600a4;\">9.8G<\/span>\u00a0(10486808576 bytes)<br \/>\ndisk size:\u00a0<span style=\"color: #ff0000;\">204M<\/span><br \/>\ncluster_size: 65536<br \/>\n\u53ef\u4ee5\u770b\u5230204M\u5c31\u662f\u6587\u4ef6\u5927\u5c0f\u3002<\/div>\n<div>\n# nova flavor-list<br \/>\n+&#8212;-+&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;+&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;+&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+<br \/>\n| ID |\u00a0\u00a0\u00a0 Name\u00a0\u00a0 | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor |<br \/>\n+&#8212;-+&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;+&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;+&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+<br \/>\n| 2\u00a0 | m1.small\u00a0 | 2048\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0<b>10\u00a0\u00a0<\/b>\u00a0|\u00a0<b>20\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0<\/b>\u00a0|\u00a0\u00a0\u00a0\u00a0\u00a0 | 1\u00a0\u00a0\u00a0\u00a0 | 1.0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |<br \/>\n+&#8212;-+&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;+&#8212;&#8212;&#8212;&#8211;+&#8212;&#8212;+&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;-+<br \/>\nsmall\u7c7b\u578b\u6301\u4e45\u786c\u76d8\u4e3a10GB\uff0c\u4e34\u65f6\u786c\u76d8\u4e3a20GB\u3002<\/div>\n<div><\/div>\n<div>\u628a\u4e0a\u9762\u7684\u865a\u62df\u673a\u4ee5small\u65b9\u5f0f\u542f\u52a8\u8d77\u6765\u3002<\/div>\n<div>\n<div># file \/var\/lib\/nova\/instances\/instance-0000001e\/disk<br \/>\n\/var\/lib\/nova\/instances\/instance-0000001e\/disk: QEMU QCOW Image (v2), has backing file (path \/var\/lib\/nova\/instances\/_base\/4fc90f26a53998d2a785ca85d95fab5d9), 10737418240 bytes<br \/>\n\u8fd9\u4e2adisk\u5bf9\u5e9410GB\u7684backing file\uff0c\u5728..\/..\/_base\u76ee\u5f55\u4e0b\u3002<\/p>\n<p># file \/var\/lib\/nova\/instances\/instance-0000001e\/disk.local<br \/>\n\/var\/lib\/nova\/instances\/instance-0000001e\/disk.local: QEMU QCOW Image (v2), has backing file (path \/var\/lib\/nova\/instances\/_base\/ephemeral_0_20_None), 21474836480 bytes<\/p><\/div>\n<div>\u8fd9\u4e2adisk.local\u5bf9\u5e9420GB\u7684backing file\uff0c\u5728..\/..\/_base\u76ee\u5f55\u4e0b\u3002<\/div>\n<div><\/div>\n<p># ll -h \/var\/lib\/nova\/instances\/_base\/<br \/>\ntotal 9.1G<br \/>\n-rw-r&#8211;r&#8211;. 1 nova nova\u00a0<span style=\"color: #8600a4;\">9.8G<\/span>\u00a0Jul 20 17:23 4fc90f26a53998d2a785ca85d95fab5d9063bf78<br \/>\n-rw-r&#8211;r&#8211;. 1 nova qemu\u00a0\u00a0<b>10G<\/b>\u00a0Jul 20 17:23 4fc90f26a53998d2a785ca85d95fab5d9063bf78_10<br \/>\n-rw-r&#8211;r&#8211;. 1 nova nova\u00a0<span style=\"color: #ff0000;\">204M<\/span>\u00a0Jul 18 11:43 4fc90f26a53998d2a785ca85d95fab5d9063bf78.part<br \/>\n-rw-r&#8211;r&#8211;. 1 qemu qemu\u00a0\u00a0<b>20G<\/b>\u00a0Jul 18 11:43 ephemeral_0_20_None<br \/>\n\u8fd9\u91cc10G\u5bf9\u5e94small\u91cc\u9762\u768410G\uff0c20G\u5bf9\u5e94small\u91cc\u9762\u768420G\uff0c204M\u5bf9\u5e94\u6587\u4ef6\u5927\u5c0f\uff0c9.8GB\u5bf9\u5e94\u865a\u62df\u78c1\u76d8\u5927\u5c0f\u3002<\/div>\n<div>\n\u8fdb\u5165\u865a\u62df\u673a\u91cc\u9762\uff0c\u67e5\u770b\u786c\u76d8\u914d\u7f6e\uff1a<\/div>\n<div># fdisk -l<br \/>\nWARNING: GPT (GUID Partition Table) detected on &#8216;\/dev\/vda&#8217;! The util fdisk doesn&#8217;t support GPT. Use GNU Parted.<br \/>\nDisk \/dev\/vda:\u00a0<b>10.7 GB<\/b>, 10737418240 bytes<br \/>\n255 heads, 63 sectors\/track, 1305 cylinders, total 20971520 sectors<br \/>\nUnits = sectors of 1 * 512 = 512 bytes<br \/>\nSector size (logical\/physical): 512 bytes \/ 512 bytes<br \/>\nI\/O size (minimum\/optimal): 512 bytes \/ 512 bytes<br \/>\nDisk identifier: 0x00000000<br \/>\nDevice Boot\u00a0\u00a0\u00a0\u00a0\u00a0 Start\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 End\u00a0\u00a0\u00a0\u00a0\u00a0 Blocks\u00a0\u00a0 Id\u00a0 System<br \/>\n\/dev\/vda1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1\u00a0\u00a0\u00a0 20482047\u00a0\u00a0\u00a0 10241023+\u00a0 ee\u00a0 GPT<\/p>\n<p>Disk \/dev\/vdb:\u00a0<b>21.5 GB<\/b>, 21474836480 bytes<br \/>\n16 heads, 63 sectors\/track, 41610 cylinders, total 41943040 sectors<br \/>\nUnits = sectors of 1 * 512 = 512 bytes<br \/>\nSector size (logical\/physical): 512 bytes \/ 512 bytes<br \/>\nI\/O size (minimum\/optimal): 512 bytes \/ 512 bytes<br \/>\nDisk identifier: 0x00000000<br \/>\nDisk \/dev\/vdb doesn&#8217;t contain a valid partition table<br \/>\n\u8fd9\u91cc\u768410GB\u5bf9\u5e94small\u768410GB\uff0c20GB\u5bf9\u5e94small\u768420GB\u3002<\/p>\n<p>\u865a\u62df\u673a\u91cc\u9762\u67e5\u770b\u6587\u5bb6\u7cfb\u7edf\uff1a<br \/>\n$ df -h<br \/>\nFilesystem\u00a0\u00a0\u00a0\u00a0\u00a0 Size\u00a0 Used Avail Use% Mounted on<br \/>\nrootfs\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 9.2G\u00a0 713M\u00a0 8.4G\u00a0\u00a0 8% \/<br \/>\ndevtmpfs\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 995M\u00a0\u00a0\u00a0\u00a0 0\u00a0 995M\u00a0\u00a0 0% \/dev<br \/>\ntmpfs\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1003M\u00a0\u00a0\u00a0\u00a0 0 1003M\u00a0\u00a0 0% \/dev\/shm<br \/>\ntmpfs\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1003M\u00a0\u00a0 40M\u00a0 963M\u00a0\u00a0 4% \/run<br \/>\n<b>\/dev\/vda2\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 9.2G\u00a0 713M\u00a0 8.4G\u00a0\u00a0 8% \/<\/b><br \/>\ntmpfs\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1003M\u00a0\u00a0 40M\u00a0 963M\u00a0\u00a0 4% \/run<br \/>\ntmpfs\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1003M\u00a0\u00a0\u00a0\u00a0 0 1003M\u00a0\u00a0 0% \/sys\/fs\/cgroup<br \/>\ntmpfs\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 1003M\u00a0\u00a0\u00a0\u00a0 0 1003M\u00a0\u00a0 0% \/media<\/p>\n<\/div>\n<div><\/div>\n<div>\u00a0 \u00a0 \u5728 nova \u88e1\u9762, \u5b83\u5c07 volume \u5206\u6210\u4e86\u5169\u500b\u985e\u578b, \u4e00\u7a2e\u662f\u95dc\u6a5f\u5f8c\u5c31\u6703\u6d88\u5931\u7684 ephemeral volume, \u53e6\u4e00\u7a2e\u5247\u662f\u6703\u7e7c\u7e8c\u5b58\u5728\u7684 persistent volume, \u5373\u4f7f Virtual Machine \u95dc\u6a5f\u5f8c, \u4f60\u4ecd\u53ef\u4ee5\u7522\u751f\u65b0\u7684 Virtual Machine, \u7136\u5f8c\u5c07\u9019\u500b persistent volume \u639b\u4e0a\u53bb<\/p>\n<p>\u800c ephemeral volume \u76ee\u524d\u6703\u7528\u5728\u5169\u500b\u5730\u65b9, \u7b2c\u4e00\u500b\u662f\u958b\u6a5f\u7528\u7684\u4e3b\u786c\u789f (Root Disk), \u5982\u679c\u4f60\u8dd1\u7684\u7a0b\u5f0f\u6709\u9700\u8981\u4f7f\u7528\u984d\u5916\u7684\u7a7a\u9593, \u90a3\u53ef\u4ee5\u8981\u6c42\u591a\u4e00\u9846\u66ab\u7528\u786c\u789f(Ephemeral Disk), \u4f46\u4ecd\u8981\u6ce8\u610f\u9019\u500b disk \u5728\u95dc\u6a5f\u5f8c\u5c31\u6703\u6d88\u5931.<\/p>\n<p>\u6211\u5011\u53ef\u4ee5\u5728 Flavor \u5167\u770b\u5230 Openstack \u9810\u8a2d\u7684\u5e7e\u7a2e\u7d44\u5408(tiny \u7684\u90a3\u500b\u96d6\u7136\u5beb\u8457\u6c92\u6709 root disk, \u4f46\u5176\u5be6\u4ecd\u7136\u6709, \u53ea\u662f\u6bd4\u8f03\u5c0f, \u53ea\u6709 2G)<\/p>\n<div><img decoding=\"async\" src=\"file:\/\/\/C:\/DOCUME~1\/ADMINI~1\/LOCALS~1\/Temp\/enhtmlclip\/Image%281%29.png\" alt=\"Openstack nova\u7684\u5b58\u50a8\u3001ephemeral\u4ee5\u53ca\u865a\u62df\u673a\u5b9e\u4f8b\u7684\u5907\u4efd\u4e0e\u6062\u590d - \u89c1\u9f99\u5728\u5929 - \u89c1\u9f99\u5728\u5929\" \/><\/div>\n<p>m1.tiny (1VCPU \/ 0GB disk \/ 512MB RAM) \u7684\u72c0\u6cc1<\/p>\n<pre>ubuntu@vm1:~$ sudo fdisk -l Disk \/dev\/vda: 2147 MB, 2147483648 bytes 255 heads, 63 sectors\/track, 261 cylinders, total 4194304 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical\/physical): 512 bytes \/ 512 bytes I\/O size (minimum\/optimal): 512 bytes \/ 512 bytes Disk identifier: 0x00000000     Device Boot      Start         End      Blocks   Id  System \/dev\/vda1   *       16065     4192964     2088450   83  Linux   ubuntu@vm1:~$ sudo less \/proc\/meminfo | grep -i total MemTotal:         503520 kB SwapTotal:             0 kB VmallocTotal:   34359738367 kB HugePages_Total:       0  ubuntu@vm1:~$ sudo less \/proc\/cpuinfo | grep CPU model name      : QEMU Virtual CPU version 1.0  ubuntu@vm1:~$ sudo df -h Filesystem      Size  Used Avail Use% Mounted on \/dev\/vda1       2.0G  667M  1.3G  35% \/ udev            242M   12K  242M   1% \/dev tmpfs            99M  204K   99M   1% \/run none            5.0M     0  5.0M   0% \/run\/lock none            246M     0  246M   0% \/run\/shm<\/pre>\n<p>m1.small (1VCPU \/ 10GB disk \/ 2048MB RAM) \u7684\u72c0\u6cc1, \u53ef\u4ee5\u770b\u5230\u6bd4 m1.tiny \u591a\u4e86\u4e00\u500b \/dev\/vdb , \u5927\u5c0f\u662f 20G<\/p>\n<pre>ubuntu@vm2:~$ sudo fdisk -l  Disk \/dev\/vda: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors\/track, 1305 cylinders, total 20971520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical\/physical): 512 bytes \/ 512 bytes I\/O size (minimum\/optimal): 512 bytes \/ 512 bytes Disk identifier: 0x00000000     Device Boot      Start         End      Blocks   Id  System \/dev\/vda1   *       16065    20964824    10474380   83  Linux  Disk \/dev\/vdb: 21.5 GB, 21474836480 bytes 16 heads, 63 sectors\/track, 41610 cylinders, total 41943040 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical\/physical): 512 bytes \/ 512 bytes I\/O size (minimum\/optimal): 512 bytes \/ 512 bytes Disk identifier: 0x00000000  Disk \/dev\/vdb doesn't contain a valid partition table  ubuntu@vm2:~$ sudo less \/proc\/meminfo | grep -i total MemTotal:        2051772 kB SwapTotal:             0 kB VmallocTotal:   34359738367 kB HugePages_Total:       0  ubuntu@vm2:~$ sudo less \/proc\/cpuinfo | grep CPU model name      : QEMU Virtual CPU version 1.0  ubuntu@vm2:~$ sudo df -h Filesystem      Size  Used Avail Use% Mounted on \/dev\/vda1       9.9G  670M  8.7G   7% \/ udev            998M  8.0K  998M   1% \/dev tmpfs           401M  208K  401M   1% \/run none            5.0M     0  5.0M   0% \/run\/lock none           1002M     0 1002M   0% \/run\/shm \/dev\/vdb         20G  173M   19G   1% \/mnt<\/pre>\n<p>\u56de\u5230 compute node \u4e0a\u9762\u53bb\u770b<\/p>\n<pre># \u53ef\u4ee5\u770b\u5230\u6709\u5169\u500b virtual machine \u6b63\u5728\u8dd1 wistor@ubuntu83:~$ sudo virsh list [sudo] password for wistor:  Id Name                 State ----------------------------------   3 instance-00000007    running   4 instance-00000009    running  # \u9019\u500b\u53ea\u6709 vda, \u5408\u7406\u7684\u5224\u65b7\u61c9\u8a72\u662f m1.tiny wistor@ubuntu83:~$ sudo virsh domblklist 3 Target     Source ------------------------------------------------ vda        \/var\/lib\/nova\/instances\/instance-00000007\/disk  # \u9019\u500b\u6709 vda \u548c vdb, \u61c9\u8a72\u5c31\u662f m1.small wistor@ubuntu83:~$ sudo virsh domblklist 4 Target     Source ------------------------------------------------ vda        \/var\/lib\/nova\/instances\/instance-00000009\/disk vdb        \/var\/lib\/nova\/instances\/instance-00000009\/disk.local  # \u5148\u5230 tiny \u7684\u8cc7\u6599\u593e\u53bb\u770b, \u53ef\u4ee5\u767c\u73fe\u6709 disk \u9019\u500b\u6a94\u6848, \u9084\u6709\u4e00\u500b libvirt.xml # \u4f46\u70ba\u4ec0\u9ebc disk \u5927\u5c0f\u53ea\u6709 118M ? \u800c\u4e0d\u662f 2G? wistor@ubuntu83:\/var\/lib\/nova\/instances\/instance-00000007$ ll -h total 115M drwxrwxr-x 2 nova         nova 4.0K May 29 13:54 .\/ drwxr-xr-x 6 nova         nova 4.0K May 29 13:57 ..\/ -rw-rw---- 1 libvirt-qemu kvm   21K May 29 13:55 console.log -rw-r--r-- 1 libvirt-qemu kvm  118M May 29 14:07 disk -rw-rw-r-- 1 nova         nova 1.5K May 29 13:54 libvirt.xml  # \u770b\u4e00\u4e0b disk \u662f\u4ec0\u9ebc\u6771\u897f, \u7d50\u679c\u767c\u73fe\u4ed6\u662f QCOW \u683c\u5f0f, backing file \u5728 _base \u88e1\u9762 wistor@ubuntu83:\/var\/lib\/nova\/instances\/instance-00000007$ <b><span style=\"color: #ff0000;\">file disk<\/span><\/b> disk: QEMU QCOW Image (v2), has backing file (path <span style=\"color: #ff0000;\">\/var\/lib\/nova\/instances\/_base\/20938b475c7d805e707888fb2a3196550<\/span>), 2147483648 bytes  # \u770b\u4e00\u4e0b _base \u5e95\u4e0b\u6709\u4ec0\u9ebc\u6771\u897f wistor@ubuntu83:\/var\/lib\/nova\/instances\/_base$ ll -h total 3.1G drwxrwxr-x 2 nova         nova 4.0K May 27 23:35 .\/ drwxr-xr-x 6 nova         nova 4.0K May 29 13:57 ..\/ -rw-r--r-- 1 libvirt-qemu kvm  2.0G May 27 23:57 20938b475c7d805e707888fb2a31965508d0bb4b -rw-r--r-- 1 libvirt-qemu kvm   10G May 27 23:57 20938b475c7d805e707888fb2a31965508d0bb4b_10 -rw-r--r-- 1 libvirt-qemu kvm   20G May 27 23:28 ephemeral_0_20_None  # \u800c\u9019\u500b backend \u7684\u5927\u5c0f\u525b\u597d\u5c31\u662f 2G, \u800c\u4e14\u662f\u500b boot sector, \u6240\u4ee5\u4ed6\u5c31\u662f tiny \u7684 boot disk wistor@ubuntu83:\/var\/lib\/nova\/instances\/_base$ file 20938b475c7d805e707888fb2a31965508d0bb4b 20938b475c7d805e707888fb2a31965508d0bb4b: x86 boot sector; partition 1: ID=0x83, active, starthead 0, startsector 16065, 4176900 sectors, code offset 0x63  # \u63a5\u4e0b\u4f86\u770b\u770b small \u7684\u8cc7\u6599\u593e, \u53ef\u4ee5\u767c\u73fe\u591a\u4e00\u500b disk.local wistor@ubuntu83:\/var\/lib\/nova\/instances\/instance-00000009$ ll -h total 395M drwxrwxr-x 2 nova         nova 4.0K May 29 13:57 .\/ drwxr-xr-x 6 nova         nova 4.0K May 29 13:57 ..\/ -rw-rw---- 1 libvirt-qemu kvm   21K May 29 13:58 console.log -rw-r--r-- 1 libvirt-qemu kvm  390M May 29 14:13 disk -rw-r--r-- 1 libvirt-qemu kvm   12M May 29 13:58 disk.local -rw-rw-r-- 1 nova         nova 1.7K May 29 13:57 libvirt.xml  # \u767c\u73fe\u4ed6\u4e5f\u662f qcow \u683c\u5f0f, backing file \u4e5f\u5728 _base \u4e0b wistor@ubuntu83:\/var\/lib\/nova\/instances\/instance-00000009$ file disk.local disk.local: QEMU QCOW Image (v2), has backing file (path \/var\/lib\/nova\/instances\/_base\/ephemeral_0_20_None), 21474836480 bytes  # \u9019\u500b\u5c31\u662f ephemeral disk, \u5927\u5c0f\u70ba 20G wistor@ubuntu83:\/var\/lib\/nova\/instances\/_base$ file ephemeral_0_20_None ephemeral_0_20_None: Linux rev 1.0 ext3 filesystem data, UUID=e886c848-3a77-4e2c-b6d6-4d77eb51f8da, volume name \"ephemeral0\" (large files)<\/pre>\n<p>\u53e6\u4e0b\u4f86\u5c31\u662f\u6e2c\u8a66\u4e00\u4e0b persistent volume. \u900f\u904e UI \u6216\u662f command line, \u6211\u5011\u751f\u6210\u4e00\u500b\u5927\u5c0f\u70ba 10G \u7684 volume,\u00a0\u4e26\u4e14\u628a\u5b83 attach \u5230 vm2 (m1.small)<\/p>\n<div><img decoding=\"async\" src=\"file:\/\/\/C:\/DOCUME~1\/ADMINI~1\/LOCALS~1\/Temp\/enhtmlclip\/Image%282%29.png\" alt=\"Openstack nova\u7684\u5b58\u50a8\u3001ephemeral\u4ee5\u53ca\u865a\u62df\u673a\u5b9e\u4f8b\u7684\u5907\u4efd\u4e0e\u6062\u590d - \u89c1\u9f99\u5728\u5929 - \u89c1\u9f99\u5728\u5929\" \/><\/div>\n<pre># \u5f9e nova \u7684 command line \u53ef\u4ee5\u770b\u5230\u65b0\u589e\u7684 volume wistor@ubuntu83:~$ sudo -i nova volume-list +----+-----------+--------------+------+-------------+-------------+ | ID |   Status  | Display Name | Size | Volume Type | Attached to | +----+-----------+--------------+------+-------------+-------------+ | 3  | available | volume1      | 10   | None        |             | +----+-----------+--------------+------+-------------+-------------+  # \u5728 lvm \u5167\u4e5f\u53ef\u4ee5\u770b\u5230\u9019\u500b\u65b0\u7684 volume wistor@ubuntu83:~$ sudo lvscan   ACTIVE            '\/dev\/nova-volumes\/volume-00000003' [10.00 GiB] inherit  # \u53ef\u4ee5\u770b\u5230 tgt \u628a\u9019\u500b volume export \u51fa\u53bb\u8b8a\u6210\u4e00\u500b iscsi target wistor@ubuntu83:~$ sudo tgt-admin -s Target 1: iqn.2010-10.org.openstack:volume-00000003     System information:         Driver: iscsi         State: ready     I_T nexus information:     LUN information:         LUN: 0             Type: controller             SCSI ID: IET     00010000             SCSI SN: beaf10             Size: 0 MB, Block size: 1             Online: Yes             Removable media: No             Readonly: No             Backing store type: null             Backing store path: None             Backing store flags:         LUN: 1             Type: disk             SCSI ID: IET     00010001             SCSI SN: beaf11             Size: 10737 MB, Block size: 512             Online: Yes             Removable media: No             Readonly: No             Backing store type: rdwr             Backing store path: \/dev\/nova-volumes\/volume-00000003             Backing store flags:     Account information:     ACL information:         ALL  # \u7136\u5f8c\u4f7f\u7528 open iscsi initiator \u9023\u7dda\u5230\u9019\u500b iscsi target  wistor@ubuntu83:~$ sudo iscsiadm -m session tcp: [5] 172.17.123.83:3260,1 iqn.2010-10.org.openstack:volume-00000003  # \u7136\u5f8c\u5c31\u591a\u4e00\u500b device wistor@ubuntu83:\/dev\/disk\/by-path$ ll lrwxrwxrwx 1 root root   9 May 29 14:23 ip-172.17.123.83:3260-iscsi-iqn.2010-10.org.openstack:volume-00000003-lun-1 -&gt; ..\/..\/sdf  wistor@ubuntu83:~$ sudo fdisk -l \/dev\/sdf  Disk \/dev\/sdf: 10.7 GB, 10737418240 bytes 64 heads, 32 sectors\/track, 10240 cylinders, total 20971520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical\/physical): 512 bytes \/ 512 bytes I\/O size (minimum\/optimal): 512 bytes \/ 512 bytes Disk identifier: 0x00000000  Disk \/dev\/sdf doesn't contain a valid partition table  # \u7136\u5f8c\u4e5f\u53ef\u4ee5\u770b\u5230 vm2 \u4e0a\u9762\u53c8\u591a\u4e86\u4e00\u500b device wistor@ubuntu83:~$ sudo virsh domblklist 4 Target     Source ------------------------------------------------ vda        \/var\/lib\/nova\/instances\/instance-00000009\/disk vdb        \/var\/lib\/nova\/instances\/instance-00000009\/disk.local vdc        \/dev\/disk\/by-path\/ip-172.17.123.83:3260-iscsi-iqn.2010-10.org.openstack:volume-00000003-lun-1<\/pre>\n<p>PS1. \u76ee\u524d\u767c\u73fe\u5728 vm \u6709\u639b\u8f09\u984d\u5916\u7684 volume \u6642, \u91cd\u958b\u6a5f\u6703\u6709\u554f\u984c<\/p>\n<div><\/div>\n<div>\n<h1><span style=\"font-size: medium;\">openstack\u4e2d \u865a\u62df\u673a\u5b9e\u4f8b\u7684\u5907\u4efd\u4e0e\u6062\u590d<\/span><\/h1>\n<\/div>\n<\/div>\n<div>\n<p>openstack\u4e2d\uff0c\u865a\u62df\u673a\u5b9e\u4f8b\u4e00\u822c\u662f\u653e\u5728nova\/instances\u76ee\u5f55\u5e95\u4e0b.<\/p>\n<p>\u8be5\u76ee\u5f55\u7684\u5178\u578b\u7ed3\u6784\u5982\u4e0b\u6240\u793a\uff1a<\/p>\n<p>root@node77:~# ls \/opt\/stack\/nova\/instances\/<br clear=\"none\" \/>_base instance-0000001a<\/p>\n<p>\u5176\u4e2d<\/p>\n<p>_base\u76ee\u5f55\u4e2d\u5b58\u653e\u7684\u662f\u865a\u62df\u673a\u5b9e\u4f8b\u7684base image<\/p>\n<p>\u800cinstance-0000001a\u5b58\u653e\u7684\u662f\u865a\u62df\u673a\u5b9e\u4f8b\u955c\u50cf\u7684\u589e\u91cf\u90e8\u5206\u3002<\/p>\n<p>instance-0000001a\u76ee\u5f55\u6709\u5982\u4e0b\u7684\u4e00\u4e9b\u6587\u4ef6\uff1a<\/p>\n<p>root@node77:~# ls \/opt\/stack\/nova\/instances\/instance-0000001a\/<br clear=\"none\" \/>console.log disk disk.local libvirt.xml<\/p>\n<p>\u5176\u4e2d<\/p>\n<p>console.log \u4fdd\u5b58\u865a\u62df\u673a\u542f\u52a8\u7684\u65e5\u5fd7\u4fe1\u606f<\/p>\n<p>disk \u548c disk.local\u4e3a\u865a\u62df\u673a\u5b9e\u4f8b\u7684\u955c\u50cf\u6587\u4ef6<\/p>\n<p>libvirt.xml\u4e3a\u914d\u7f6e\u6587\u4ef6\u3002<\/p>\n<p>\u8fd9\u5176\u4e2d\u9700\u8981\u6ce8\u610f\u7684\u662f\uff0cdisk\u548cdisk.local\u5e76\u6ca1\u6709\u5305\u542b\u8be5\u865a\u62df\u673a\u7684\u6240\u6709\u6570\u636e\uff0c\u5b83\u4eec\u53ea\u662f\u57fa\u4e8ebase image\u7684\u589e\u91cf\u90e8\u5206<\/p>\n<p>\u6211\u4eec\u901a\u8fc7kvm-image \u5de5\u5177\u53ef\u4ee5\u67e5\u770b\u8be5\u4fe1\u606f\uff0c\u5982\u4e0b\uff1a<\/p>\n<p>root@node77:\/opt\/stack\/nova\/instances\/instance-0000001a# kvm-img info disk<br clear=\"none\" \/>image: disk<br clear=\"none\" \/>file format: qcow2<br clear=\"none\" \/>virtual size: 50G (53687091200 bytes)<br clear=\"none\" \/>disk size: 1.6G<br clear=\"none\" \/>cluster_size: 2097152<br clear=\"none\" \/>backing file: \/opt\/stack\/nova\/instances\/_base\/5dcb736a3fbb7f5b92657095aa77a877f4039ec0_10 (actual path: \/opt\/stack\/nova\/instances\/_base\/5dcb736a3fbb7f5b92657095aa77a877f4039ec0_10)<\/p>\n<p>&nbsp;<\/p>\n<p>root@node77:\/opt\/stack\/nova\/instances\/instance-0000001a# kvm-img info disk.local\u00a0<br clear=\"none\" \/>image: disk.local<br clear=\"none\" \/>file format: qcow2<br clear=\"none\" \/>virtual size: 40G (42949672960 bytes)<br clear=\"none\" \/>disk size: 4.0M<br clear=\"none\" \/>cluster_size: 2097152<br clear=\"none\" \/>backing file: \/opt\/stack\/nova\/instances\/_base\/ephemeral_0_40_None (actual path: \/opt\/stack\/nova\/instances\/_base\/ephemeral_0_40_None)<\/p>\n<p>\u5176\u4e2dbacking file \u5373\u662fbase image<\/p>\n<p>\u56e0\u6b64\u6211\u4eec\u5728\u5907\u4efd\u865a\u62df\u673a\u5b9e\u4f8b\u7684\u65f6\u5019\uff0c\u4e0d\u4ec5\u8981\u5907\u4efdinstance-0000001a\u76ee\u5f55\u4e0b\u7684\u6570\u636e\uff0c\u800c\u4e14\u8981\u5907\u4efd\u8be5\u865a\u62df\u673a\u76f8\u5173\u7684base image\u6570\u636e\uff0c\u5373backing file\u7ed9\u51fa\u7684\u6587\u4ef6\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>\u5bf9\u4e8e\u8be5\u4f8b\u5b50\uff1a<\/p>\n<p>\u6211\u4eec\u9700\u8981\u5907\u4efd\u5982\u4e0b\u7684\u6587\u4ef6\uff1a<\/p>\n<p>\uff081\uff09console.log<\/p>\n<p>\uff082\uff09disk<\/p>\n<p>\uff083\uff09disk.local<\/p>\n<p>\uff084\uff09libvirt.xml<\/p>\n<p>\uff085\uff09\/opt\/stack\/nova\/instances\/_base\/ephemeral_0_40_None<\/p>\n<p>\uff086\uff09\/opt\/stack\/nova\/instances\/_base\/5dcb736a3fbb7f5b92657095aa77a877f4039ec0_10<\/p>\n<p>&nbsp;<\/p>\n<p>\u5982\u4f55\u6839\u636e\u5907\u4efd\u7684\u6587\u4ef6\uff0c\u5728\u53e6\u5916\u4e00\u53f0\u673a\u5668\u4e0a\u6062\u590d\u8be5\u865a\u62df\u673a\uff1a<\/p>\n<p>\u65b9\u6cd51\uff1a<\/p>\n<p>\u6211\u4eec\u5c06disk \u548c disk.local\u78c1\u76d8\u6587\u4ef6\u5206\u522b\u548c\u5b83\u4eec\u7684base image\u5408\u5e76\uff0c\u751f\u6210\u4e24\u4e2a\u65b0\u7684\u78c1\u76d8\u6587\u4ef6\uff0c\u90a3\u4e48\u8fd9\u4e24\u4e2a\u78c1\u76d8\u6587\u4ef6\u5c06\u5305\u542b\u865a\u62df\u673a\u6240\u6709\u7684\u6570\u636e\u3002<\/p>\n<pre>qemu-img convert [-c] [-f <em><code>format<\/code><\/em>] [-o <em><code>options<\/code><\/em>] [-O <em><code>output_format<\/code><\/em>] <em><code>filename<\/code><\/em> <em><code>output_filename<\/code><\/em><\/pre>\n<pre><em>qemu-img convert disk \u2013O qcow2 newdisk<\/em><\/pre>\n<pre> <em>qemu-img convert disk.local \u2013O qcow2 newdisk.local<\/em><\/pre>\n<p>&nbsp;<\/p>\n<p>\u65b9\u6cd52\uff1a<\/p>\n<p>\u6211\u4eec\u4fee\u6539disk\u548cdisk.local\u6587\u4ef6\u4e2dbacking file\u7684\u4f4d\u7f6e\uff0c\u4e3a\u5f53\u524dbase image\u7684\u4f4d\u7f6e<\/p>\n<pre>qemu-img rebase [-f <em><code>format<\/code><\/em>] [-u] -b <em><code>backing_file<\/code><\/em> [-F <em><code>backing_format<\/code><\/em>] <em><code>filename<\/code><\/em><\/pre>\n<pre>\u6b63\u786e\u5904\u7406\u5b8c\u78c1\u76d8\u6587\u4ef6\u540e\uff0c\u5269\u4e0b\u7684\u5de5\u4f5c\u5c31\u662f\u6309\u7167libvirt.xml\u6587\u4ef6\u7684\u8bbe\u7f6e\uff0c\u542f\u52a8\u865a\u62df\u673a\u4e86\u3002<\/pre>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u4e2a\u4f8b\u5b50\uff1a # ll -h -rw-r&#8211;r&#8211;. 1 root root\u00a0204M\u00a0Fe &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[216,210,209,214,217,215,149],"class_list":["post-276","post","type-post","status-publish","format-standard","hentry","category-4","tag-ephemeral","tag-nova","tag-openstack","tag-214","tag-217","tag-215","tag-149"],"views":1945,"_links":{"self":[{"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/276","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=276"}],"version-history":[{"count":2,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/276\/revisions"}],"predecessor-version":[{"id":278,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/276\/revisions\/278"}],"wp:attachment":[{"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=276"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=276"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.max-shu.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}