如何在KVM中管理存储池

如何在KVM中管理存储池,第1张

第一步: 配置存储池 Virsh命令行工具是一款管理virsh客户域的用户界面。virsh程序能在命令行中运行所给的命令以及它的参数。 本节中,我们要用它给我们的KVM环境创建存储池。想知道关于这个工具的更多信息,用以下这条命令。 # man virsh 1. 用virsh带pool-define-as的命令来定义新的存储池,你需要指定名字、类型和类型参数。 本例中,我们将名字取为Spool1,类型为目录。默认情况下你可以提供五个参数给该类型: source-host source-path source-dev source-name target 对于目录类型,我们需要用最后一个参数“target”来指定存储池的路径,其它参数项我们可以用“-”来填充。 # virsh pool-define-as Spool1 dir - - - - “/mnt/personal-data/SPool1/”创建新存储池 2. 查看环境中我们所有的存储池,用以下命令。 # virsh pool-list --all列出所有存储池 3. 现在我们来构造存储池了,用以下命令来构造我们刚才定义的存储池。 # virsh pool-build Spool1构造存储池 4. 用带pool-start参数的virsh命令来激活并启动我们刚才创建并构造完成的存储池。 # virsh pool-start Spool1激活存储池 5. 查看环境中存储池的状态,用以下命令。 # virsh pool-list --all

需求:物理机安装HBA卡,连接到IBM V3700存储,存储上新建一个2T的卷,映射到该物理机,想让该物理机上的vm1直接挂挂载存储上的2T空间。

误区:通过虚拟系统管理器virt-manager设置物理磁盘存储池,这样做如下图,类型处选择 物理磁盘设备

点击完成后会报错:Format of device '/dev/sdc' does not match the expected format 'dos'

正确做法:虚拟机vm1关机后,在“添加新虚拟机硬件” 窗口 “选择或创建自定义存储”下面的空白处直接填/dev/sdb或者/dev/sdc(根据实际情况)。实际上,最好不使用/dev/sd*条目,而使用/dev/disk/by-id目录中设备的链接,这样,如果设备名称发生更改(因为您插入了USB驱动器或其他设备),它仍然可以工作。

通过以下指令可查看/dev/sdb等对应的by-id

ls -l /dev/disk/by-id

通过不重启服务器刷新磁盘列表

ls /sys/class/scsi_host/

echo "- - -" >/sys/class/scsi_host/host0/scan

echo "- - -" >/sys/class/scsi_host/host1/scan

echo "- - -" >/sys/class/scsi_host/host2/scan

echo "- - -" >/sys/class/scsi_host/host3/scan

fdisk -l

在Linux中用命令行工具管理KVM虚拟环境的步骤:第一步: 配置存储池Virsh命令行工具是一款管理virsh客户域的用户界面。virsh程序能在命令行中运行所给的命令以及它的参数。本节中,要用它给KVM环境创建存储池。想知道关于这个工具的更多信息,用以下这条命令。# man virsh1、用virsh带pool-define-as的命令来定义新的存储池,需要指定名字、类型和类型参数。本例中,将名字取为Spool1,类型为目录。默认情况下可以提供五个参数给该类型:source-hostsource-pathsource-devsource-nametarget对于目录类型,需要用最后一个参数“target”来指定存储池的路径,其它参数项可以用“-”来填充。# virsh pool-define-as Spool1 dir - - - - "/mnt/personal-data/SPool1/" ...在Linux中用命令行工具管理KVM虚拟环境的步骤:第一步: 配置存储池Virsh命令行工具是一款管理virsh客户域的用户界面。virsh程序能在命令行中运行所给的命令以及它的参数。本节中,要用它给KVM环境创建存储池。想知道关于这个工具的更多信息,用以下这条命令。# man virsh1、用virsh带pool-define-as的命令来定义新的存储池,需要指定名字、类型和类型参数。本例中,将名字取为Spool1,类型为目录。默认情况下可以提供五个参数给该类型:source-hostsource-pathsource-devsource-nametarget对于目录类型,需要用最后一个参数“target”来指定存储池的路径,其它参数项可以用“-”来填充。# virsh pool-define-as Spool1 dir - - - - "/mnt/personal-data/SPool1/"2、 查看环境中所有的存储池,用以下命令。# virsh pool-list --all3、现在来构造存储池了,用以下命令来构造刚才定义的存储池。# virsh pool-build Spool14、用带pool-start参数的virsh命令来激活并启动刚才创建并构造完成的存储池。# virsh pool-start Spool15、查看环境中存储池的状态,用以下命令。# virsh pool-list --all会发现Spool1的状态变成了已激活。6、对Spool1进行配置,让它每次都能被libvirtd服务自启动。# virsh pool-autostart Spool17、最后来看看新的存储池的信息吧。# virsh pool-info Spool1恭喜,Spool1已经准备好待命,接下来试着创建存储卷来使用它。第二步: 配置存储卷/磁盘映像现在轮到磁盘映像了,用qemu-img命令在Spool1中创建一个新磁盘映像。获取更多细节信息,可以查看man手册。# man qemu-img8、应该在qemu-img命令之后指定“create, check,…”等等 *** 作、磁盘映像格式、想要创建的磁盘映像的路径和大小。# qemu-img create -f raw /mnt/personal-data/SPool1/SVol1.img 10G9、通过使用带info的qemu-img命令,你可以获取到你的新磁盘映像的一些信息。查看存储卷信息警告: 不要用qemu-img命令来修改被运行中的虚拟机或任何其它进程所正在使用的映像,那样映像会被破坏。现在是时候来创建虚拟机了。第三步: 创建虚拟机10、现在到最后一个环节了,在最后一步中,将用virt-install命令来创建虚拟机。virt-install是一个用来创建新的KVM虚拟机命令行工具,它使用“libvirt”管理程序库。想获取更多细节,同样可以查看man手册。# man virt-install要创建新的KVM虚拟机,需要用到带以下所有信息的命令。Name: 虚拟机的名字。Disk Location: 磁盘映像的位置。Graphics : 怎样连接VM,通常是SPICE。vcpu : 虚拟CPU的数量。ram : 以兆字节计算的已分配内存大小。Location : 指定安装源路径。Network : 指定虚拟网络,通常是virbr0网桥。virt-install --name=rhel7 --disk path=/mnt/personal-data/SPool1/SVol1.img --graphics spice --vcpu=1 --ram=1024 --location=/run/media/dos/9e6f605a-f502-4e98-826e-e6376caea288/rhel-server-7.0-x86_64-dvd.iso --network bridge=virbr0创建新的虚拟机11、会看到d出一个virt-vierwer窗口,像是在通过它在与虚拟机通信。收起


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11762534.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存