由于安装的kvm需要扩容,研究了下lvm的使用。

LVM(Logical Volume Manager)逻辑卷管理器,做法是将物理分区通过软件组合未一个独立的大磁盘(VG,卷组),然后把这个大磁盘分成新的分区(LV,逻辑卷)挂载使用。
物理分区加上8e的sysem id之后,通过pvcreate转成物理卷(pv),调整System ID用fdisk命令。
PE(物理延伸块)是LVM的最小存储区块,lvm默认使用4M的PE区块,VG(卷组)最多仅能有65534个PE,因此VG最多会有4M*65534=256G的大小。
如何做到弹性比昂更LV呢?把原本lv内的pe转移到vg内其他地方减少lv容量,把vg内别的pe加入此lv中可以增大容量。
使用lvm,需要先安装lvm2(apt-get install lvm2),涉及的命令:
fdisk,partprobe,pvcreate,pvscan,pvdisplay,pvremove,vgdisplay,vgcreate,lvcreate,lvdisplay,mkfs,mount.
lvm有两种写入模式:线性模式(linear,默认),交错模式(triped)。交错模式读写性能较好,但只要任何一个分区损坏,整个文件系统就坏了。

关于主分区(primary)、扩展分区(extended)和逻辑分区(logical):
每块硬盘上的MBR只支持最多四个分区,如果要更多分区,就需要有个扩展分区,在扩展分区中添加逻辑分区。所以如果存在扩展分区,最多只能有三个主分区,主分区和扩展分区信息存放在MBR中,逻辑分区的信息存放在扩展分区内。
逻辑卷的位置如下:/dev/vbirdvg/vbirdlv,vbirdvg是vg名,vbirdlv是lv名称,实际上是链接到/dev/mapper.
增加lv容量最后需调用resize2fs,可以在线执行,即不用umount。
而减少容量和调整swap大小则不能在线处理:
减少容量需先调用resize2fs,umount,e2fsck,再mount,lvresize,pvmove。
swap分区改动先swapoff -a,完成后mkswap,swapon -a。

使用livecd或者desktop版本trying ubuntu时,需安装lvm2,用fdisk分区,boot分1G,另一个分区则放/,swap卷和home卷,并加入system id(8e)。然后:
sudo pvcreate /dev/sda2
sudo vgcreate sysvg /dev/sda2
sudo lvcreate -L 1G -n lvswap sysvg
sudo lvcreate -L 20G -n lvroot sysvg
sudo lvcreate -L 100%FREE -n lvhome sysvg
sudo mkfs.ext4 /dev/mapper/sysvg-lvroot
sudo mkfs.ext4 /dev/mapper/sysvg-lvhome
sudo mkswap -f /dev/mapper/sysvg-lvswap

然后在以上几个盘和mount point中安装ubuntu。
而由于安装之后的系统默认不带lvm2会使系统无法启动,这时需要在live system中mount几个点到/mnt下面,然后chroot到/mnt,然后执行apt-get install lvm2(参考文献1中建议先在/etc/modules中增加一些模块),mount之前可能需要执行:

vgchange -a y sysvg

ubuntu  12.04.3 server版无法在安装前配置lvm,应用desktop(相当于livecd)引导,但在kvm中安装desktop时图像显示有问题无法使用terminal(alternate安装之后也有这个问题,启动时不加-no-acpi即可),于是使用带lvm功能的alternate版本,该配置中没有/home对应逻辑卷,boot分区配254MB。

PS:我在kvm中测试了添加10G硬盘,增加3G swap,7G ROOT,果然可以。需要注意的是删除旧的分区添加新的分区时起始的扇区需要使用默认值而不是旧的值,否则会REBOOT不起来。

参考:

1.http://ubuntuforums.org/showthread.php?t=1782296

2.鸟哥的私房菜第三版

3.kvm增加磁盘容量:http://serverfault.com/questions/324281/how-do-you-increase-a-kvm-guests-disk-space

lvm使用总结-转的更多相关文章

  1. Linux LVM逻辑卷配置过程详解

    许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用时可能不得不备份.删除相关数据,甚至被迫重新规划分区并重装操作系统,以 ...

  2. linux下 lvm 磁盘扩容

    打算给系统装一个oracle,发现磁盘空间不足.在安装系统的时候我选择的是自动分区,系统就会自动以LVM的方式分区.为了保证系统后期的可用性,建议所有新系统安装都采用LVM,之后生产上的设备我也打算这 ...

  3. LVM基本介绍与常用命令

    一.LVM介绍LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制LVM - 优点:LVM通常用于装备大量磁盘的系统,但它同样适 ...

  4. Linux归档压缩、分区管理与LVM管理

    归档和压缩命令: 命令格式: gzip [-9] 文件名 bzip2 [-9] 文件名 gzip –d .gz格式的压缩文件 bzip2 –d .bz2格式的压缩文件 选项: -9:高压缩比,多用于压 ...

  5. 2.lvm动态逻辑卷

    Lvm动态逻辑卷 一.             基本概念 LVM 把实际的物理磁盘数据映射到一个简单而灵活的虚拟逻辑存储视图上,藉以控制磁盘资源: 也就是重新考虑了管理文件系统和卷的方法,在文件系统管 ...

  6. Linux LVM学习总结——扩展卷组VG

    Linux服务器由于应用变更或需求的缘故,有可能出现分区空间不足的情况,此时往往需要进行扩容(要增加分区的空间),而采用LVM的好处就是可以在不需停机的情况下可以方便地调整各个分区大小.如下所示,分区 ...

  7. LVM 管理减少swap分区空间增加到根分区

    简介 LVM是 Logical Volume Manager(逻辑卷管理)的简写,它是Linux环境下对磁盘分区进行管理的一种机制,它由Heinz Mauelshagen在Linux 2.4内核上实现 ...

  8. archlinux安裝手记(Win10+Arch、GPT+UEFI、lvm)

    准备工具和设置制作启动盘连接网络硬盘分区规划分区LVM方案创建文件系统分区挂载激活lvm2钩子基础安装和配置配置镜像源基础系统安装fstab进入系统initramfs引导程序网络搭建使用环境用户管理用 ...

  9. parted LVM划分4T磁盘,在线扩展1.5T

      磁盘分区: parted /dev/emcpowera (parted) print Model: Unknown (unknown) Disk /dev/emcpowera: 4398GB Se ...

  10. Linux LVM逻辑卷

    概述 LVM的产生是因为传统的分区一旦分区好后就无法在线扩充空间,也存在一些工具能实现在线扩充空间但是还是会面临数据损坏的风险:传统的分区当分区空间不足时,一般的解决办法是再创建一个更大的分区将原分区 ...

随机推荐

  1. javascript 构造函数中的属性与原型上属性优先级的比较

    备注: 下面这个问题是我前天看书上发现的. 按照我以前的理解, a.rename()这个方法传什么值,结果都会弹出 小a,但我看书上的demo 弹出的是大A.... 我的困惑是:  js的构造函数中的 ...

  2. 利用strut2标签自动生成form前端验证代码

    利用strut2标签自动生成form前端验证代码,使用到的技术有1.struts2标签,如<s:form> <s:textfieled>2.struts2读取*Validati ...

  3. 树莓派安装kali后的简单配置

    树莓派可以说是极客的最爱,可以根据不同的需求去做定制. 前文<使用树莓派和kali Linux打造便携式渗透套件>讲了一些使用树莓派的基础,主要侧重于将树莓派当作一个物理后门使用.我则更喜 ...

  4. 4 Values whose Sum is 0_upper_bound&&ower_bound

    Description The SUM problem can be formulated as follows: given four lists A, B, C, D of integer val ...

  5. 3、C#基础整理(语句概述)

    语句 语句分为四个大类: * 分支语句:if,if... else,if ...else if... else,switch case * 循环语句:for,while,do while,foreac ...

  6. 完美解决方案,可排除DATASET不支持System.Nullable错误

    完美解决方案,可排除DATASET不支持System.Nullable错误 using System; using System.Collections.Generic; using System.L ...

  7. 第三个sprint第一天

    一.例会人员:李泳江,邵家文,周伟雄,谢洪跃 日期:6月16号   例会内容: 1.更新核心功能 例会地点:宿舍 二.任务展示 编号 名称 时间 已用时间 是否完成 1 画出算法流程图 4小时 4小时 ...

  8. iOS平台XML解析类库对比和安装说明

    在iPhone开发中,XML的解析有很多选择,iOS SDK提供了NSXMLParser和libxml2两个类库,另外还有很多第三方类库可选,例如TBXML.TouchXML.KissXML.Tiny ...

  9. 《more effective C++》条款10 防止构造函数里的资源泄露

    构造函数也可能发生内存泄露,考虑如下程序: class A { public: A(int *p) { if(p!=NULL) num=p; ); //do something } private: ...

  10. IE下背景图片 不显示问题

    转自:http://www.jb51.net/css/119341.html 在chrome,FF里调试完后,忽然想起ie来,放到Ie里其它还好了,但是有个背景图片显示不出来,具体的写法如下,有类似情 ...