由于安装的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. Oracle 中批量导入大量测试数据的方法

    执行如下批处理命令: declare  maxrecords constant int := 100000;  i int := 1;begin  for i in 1 .. 20000 loop   ...

  2. Linux下tmpfs与ramfs的区别

      ramfs是Linux下一种基于RAM做存储的文件系统.在使用过程中你就可以把ramfs理解为在普通的HDD上建立了一个文件系统,而现在HDD被替换成了RAM,因为是RAM做存储所以会有很高的存储 ...

  3. C++ inline weak symbol and so on

    关于inline这个关键字,听到强调得最多的是,它只是一种对于编译器的建议,而非强制执行的限定. 但事实上,即使这个优化最终由于函数太过复杂的原因没有达成,加上inline关键字(还有在类定义中直接定 ...

  4. Configuration for Python to run on Android

    It's exiting to learn to make app on Android with python. But when I check <Head First Python> ...

  5. ios 从网络上获取图片并在UIImageView中显示

    ios 从网络上获取图片   -(UIImage *) getImageFromURL:(NSString *)fileURL { NSLog(@"执行图片下载函数"); UIIm ...

  6. 数据结构《10》----二叉树 Morris 中序遍历

    无论是二叉树的中序遍历还是用 stack 模拟递归, 都需要 O(n)的空间复杂度. Morris 遍历是一种 常数空间 的遍历方法,其本质是 线索二叉树(Threaded Binary Tree), ...

  7. Linux命令(2)-rm删除文件

    版本:centos7 Linux中使用rm(remove)命令将文件从磁盘上永久删除.使用-r参数可以删除目录及目录下的子目录.对于连接文件只是断开了连接,源文件保持不变.用户删除一个文件时需要对该文 ...

  8. Tiling Up Blocks_DP

    Description Michael The Kid receives an interesting game set from his grandparent as his birthday gi ...

  9. HDU 4396

    http://acm.hdu.edu.cn/showproblem.php?pid=4396 题意:在至少走k条边的前提下求最短路 思路:在原有最短路模板的基础上多加一维,dis[i][j]表示走到i ...

  10. hadoop常用基础命令

    1.日志查询: 用户可使用以下命令在指定路径下查看历史日志汇总$ bin/hadoop job -history output-dir 这条命令会显示作业的细节信息,失败和终止的任务细节. 关于作业的 ...