由于安装的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. C# 使用命令行编译单个CS文件

    编译单个CS文件. 1.编译   File.cs   以产生   File.exe:       csc   File.cs     2.编译   File.cs   以产生   File.dll:  ...

  2. mycat启动后,用Navicat Premium 连接报 "2013"

    最近在学习mycat,启动后,用Navicat Premium 连接报 "2013"  Lost Connection During Query ,经过一顿百度也没发现是怎么回事, ...

  3. hadoop常见错误集锦

    1  Hadoop namenode -format后Incompatible namespaceIDS 错误解决办法 重新格式话namenode后,会重新分配一个namespaceId, 这个nam ...

  4. Emacs+highlight-parentheses高亮括号

    EmacsWiki上关于它的介绍HighlightParentheses,下载最新版请通过作者的GitHub:https://github.com/nschum/highlight-parenthes ...

  5. 删除目录下所有gif的图片

    find  -name "*.gif" -exec rm -fv {} \;

  6. iOS常用正则表达式验证(手机号、密码格式、身份证号等)

    #import @interfaceUtils : NSObject #pragma 正则匹配手机号 + (BOOL)checkTelNumber:(NSString*) telNumber; #pr ...

  7. Magento Soap Api接口出错无法使用

    在给客户测试Magento Soap接口的时候出现如下错误提示. This page contains the following errors:error on line 3 at column 6 ...

  8. oracle将多条数据合并成一条

    select  t.col1,t.col2  ,wmsys.wm_concat(t.col3||' ') AS col3 , wmsys.wm_concat(t.col4||'') as col4,w ...

  9. 实例讲解Oracle数据库设置默认表空间问题

    实例讲解Oracle数据库设置默认表空间问题   实例讲解Oracle数据库设置默认表空间问题,阅读实例讲解Oracle数据库设置默认表空间问题,DBA们经常会遇到一个这样令人头疼的问题:不知道谁在O ...

  10. Hex Editor实现Notepad++16进制编辑功能

    把HexEditor.dll文件复制到安装目录(如C:\Program Files\Notepad++\plugins),退出NotePad++重新打开即可!需要以十六进制显示时,点击菜单的:[插件] ...