给qemu虚拟机加硬盘,分区,自动挂在

来源:互联网 发布:windows系统漏洞 编辑:程序博客网 时间:2024/06/05 17:08

创建一个磁盘镜像:

qemu-img   create   -f   qcow2    qemu_ppc64le.img  50G

查看

qemu-img info qemu_ppc64le.img

说明一下几种格式的区别:

qemu-img可以有raw,

给虚拟机多加一个硬盘:

/home/chenglin/qemu/qemu_debug_run/qemu-2.4.0/ppc64-softmmu/qemu-system-ppc64 --enable-kvm -m 50G  -hda /home/chenglin/qemu/qemu_debug_kernel/qemu-dir/ubuntu-ppc64le.img -hdb /home/chenglin/qemu/qemu_debug_kernel/qemu-dir/qemu_ppc64le.img -kernel /home/chenglin/source/linux-4.2.3/arch/powerpc/boot/zImage -append root=/dev/sda2  -nographic -smp cpus=32,cores=4,threads=8,sockets=1 -net nic -net tap,ifname=tap0 -full-screen

参数解释:

--enable-kvm:用kvm加速运行

-hda:第一个硬盘

-hdb:第二个硬盘

还可以有-hdc -hdd

-kernel使用特定的kernel

-append给虚拟机kernel传的参数

-smp设置cpu数量

-net使用tap,后面会做成nat,见上一篇文章


硬盘加好后,需要分区,自动挂在,fdisk不支持gpt table

在linux下给容量大于2TB的硬盘分区,只能使用parted工具了。在使用parted工具的时候,可能会遇到一些问题,在fdisk下都是熟练地全默认设置,在parted下却不能这么做了。

如果我们新插入了一块硬盘,在系统中识别为/dev/sdb,则可以使用以下的命令开始分区:

parted /dev/sdb

此时进入parted后,执行命令可能会出现如下的错误:

Error: /dev/sdb: unrecognised disk label

这是由于我们还未对这个磁盘设定分区表模式,如果是容量大于2TB的磁盘,我们可以分区表模式设定为GPT,如果是小于2TB的盘,使用传统的msdos模式就可以了:

mklabel gpt (空的磁盘是没有分区表的)

在parted中分区,可以使用makepart命令,使用如下的命令就可以默认地将整块盘都划分为一个分区:

mkpart primary 0 100%
这几个参数的意义分别是: 主分区、起始扇区、分区占用空间的比例。

看起来没啥问题,但是如果一路默认设定,可能最后会出现如下的提示:

Warning: The resulting partition is not properly aligned for best performance.

只是个警告,但是事关性能的问题,还是仔细看一下吧。从网上查到的信息是,由于在分区时起始扇区设置不合理,导致了出现这样的警告。
如何设定这个起始扇区的位置呢,可以看以下几个文件的值:

# cat /sys/block/sdb/queue/optimal_io_size1048576# cat /sys/block/sdb/queue/minimum_io_size262144# cat /sys/block/sdb/alignment_offset0# cat /sys/block/sdb/queue/physical_block_size512

如果optimal_io_size不为0,则可以用optimal_io_size的值加上alignment_offset的值,然后除以physical_block_size的值,就是起始扇区的位置了,如上面的例子中,可以用这个公式算出来起始扇区的设定值:

(1048576 + 0) / 512 = 2048

如果optimal_io_size为0,那么我们最好直接使用起始扇区的默认值2048。

最后在分区的时候使用以下的命令就可以了:

mkpart primary 2048s 100%

(不要忘记2048后的s单位)
此时分区后就不会出现The resulting partition is not properly aligned for best performance的警告了。

参考: http://rainbow.chard.org/2013/01/30/how-to-align-partitions-for-best-performance-using-parted/


格式化fs:

mkfs.ext4 /dev/sda1

run blkid获取UUID


自动挂在,需要更新/etc/fstab,不一定要用UUID,直接/dev/sdb1替代也可以


手动挂在:

mount /dev/sdb1 /home

0 0
原创粉丝点击