linux lvm 磁盘管理

附加:lvm
这是一个新系统,依然debian 6.0.6,走起

我在装系统的时候手动进行了分区(之前都是自动分区并配置lvm,感觉不怎么合适),三个主分区:/boot,/,/swap

预留了30G的空间,其实是我以一个20G的debian系统原版为backingfile(qemu)创建的一个50G的磁盘,所以会有30G空余

通过fdisk创建一个扩展分区,在创建一个逻辑分区,然后通过t命令将其id设置为8e(标准lvm分区)

必须要说明一下的是本文只是介绍一下lvm的基本操作,也是自己的备忘。并不涉及与raid的配合,因为本人木有环境,大神莫怪,权当学习。并且本文并不涉及fdisk等命令,若您想对此进行了解,小弟还有一篇文章http://www.cnblogs.com/fangfangmian/archive/2013/01/10/2855373.html
感兴趣的可以去瞧瞧看看,呵呵


p命令查看如下:

Command (m for help): pDisk /dev/sda: 53.7 GB, 53687091200 bytes
255 heads, 63 sectors/track, 6527 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005982dDevice Boot Start End Blocks Id System
/dev/sda1 * 1 31 242688 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 31 2341 18554880 83 Linux
/dev/sda3 2341 2611 2171904 82 Linux swap / Solaris
/dev/sda4 2611 6527 31457631+ 5 Extended
/dev/sda5 2611 6527 31457600 8e Linux LVM

总感觉把extend分区留给后面新创建磁盘时用来折腾很正确,不然总感觉有点奇葩

好,w保存退出
提示can't什么东西,大概意思就是你这样修改后,磁盘中的管理分区的一个地方(暂时先这样理解,其实是super block/boot之类的)不能更新,需要重起或者运行partprobe命令,这个命令在另一个强大的磁盘管理工具parted中。
好,安装个parted先,安装完毕后运行partprobe,没有任何提示,嘛,我认为他正常工作了。

反正fdisk -l可以看到已经有了刚才的分区。

下面开始lvm操作

我们要处理的是那30G的磁盘空间,首先,我们将它初始化以下,先是物理卷,然后是逻辑卷,然后就可以对其操作了

初始化物理卷:

$ sudo pvcreate /dev/sda5 
Physical volume "/dev/sda5" successfully created

貌似工作很正常

创建卷组:(嘛,卷组是为了创建逻辑卷准备的,感觉跟扩展分区的地位比较像)

$ sudo vgcreate jcklvm /dev/sda5 
Volume group "jcklvm" successfully created

起了个名字,叫jcklvm,貌似工作的也很正常,很顺利么...

然后可以通过vgdisplay查看一下,可以看到比较详细的信息,关于卷组的

然后就可以在卷组上创建逻辑卷了:

$ sudo lvcreate -L 20G -n jckhome jcklvm
Logical volume "jckhome" created

我创建了一个大小为20G,名字叫jckhome,并且在jcklvm这个卷组上的逻辑卷,成功与否你懂得

接着我们应该在逻辑卷上创建文件系统:
mkfs啦

然后将它挂载到某个目录/mnt/jckhome上,df查看一下

$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 18G 3.3G 14G 20% /
tmpfs 2.0G 0 2.0G 0% /lib/init/rw
udev 2.0G 128K 2.0G 1% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
/dev/sda1 230M 22M 197M 10% /boot
/dev/mapper/jcklvm-jckhome
20G 172M 19G 1% /mnt/jckhome

似乎已经成功了撒,至少现在已经可以使用这块空间了

然后你可以做得就是将你想要的东西复制到这里,我是准备将我的家目录放到这个地方的,不然20G空间实在不够用,复制过来,别忘了-r

$ sudo cp /home/jck/* /mnt/jckhome/ -r -a

再将原来的家目录删掉,换个名字吧先,免得悲剧了

$ sudo mv jck/ jck.old

重新挂载一下

$ sudo umount /mnt/jckhome/
$ sudo mkdir /home/jck
$ sudo mount -t ext4 /dev/jcklvm/jckhome /home/jck

这时就应该能够正常使用了,如果你的权限没问题的话,但是还没完,因为重启以后这些就都没有了...

还需要配置一下。
这步就像前一篇文章一样操作就可以了,修改/etc/fstab文件

/dev/jcklvm/jckhome /home/jck ext4 defaults 1 1

修改好后,重启,查看结果

我的结果是系统可以正常使用,使用df 查看结果与之前的结果一样。
这样基本就结束了,但可能有人会有疑问,因为这些工作fdisk完全能做的,比如搞个分区挂载到/home,为啥要用lvm

lvm的强大并不在这,而在于你可以动态分配磁盘空间的大小,刚才我只分配了20G的空间吧,但实际上空余的空间有30G哦,好,现在我的家目录空间不够了,怎么办?

两条命令解决全家老小的吃穿问题:

$ sudo lvextend -L+10G /dev/jcklvm/jckhome 
[sudo] password for jck: 
Extending logical volume jckhome to 30.00 GiB
Logical volume jckhome successfully resized
$ df -hFilesystem Size Used Avail Use% Mounted on
/dev/sda2 18G 3.3G 14G 20% /
tmpfs 2.0G 0 2.0G 0% /lib/init/rw
udev 2.0G 128K 2.0G 1% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
/dev/sda1 230M 22M 197M 10% /boot
/dev/mapper/jcklvm-jckhome
20G 175M 19G 1% /home/jck
$ sudo resize2fs /dev/jcklvm/jckhome resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/jcklvm/jckhome is mounted on /home; on-line resizing required
old desc_blocks = 2, new_desc_blocks = 2
Performing an on-line resize of /dev/jcklvm/jckhome to 7864320 (4k) blocks.
The filesystem on /dev/jcklvm/jckhome is now 7864320 blocks long.
$ df -hFilesystem Size Used Avail Use% Mounted on
/dev/sda2 18G 3.3G 14G 20% /
tmpfs 2.0G 0 2.0G 0% /lib/init/rw
udev 2.0G 128K 2.0G 1% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
/dev/sda1 230M 22M 197M 10% /boot
/dev/mapper/jcklvm-jckhome
30G 175M 28G 1% /home

是不是很轻松撒,如果是传统分区手段可能就要悲剧一段时间了,呵呵

再一个圣经一样的东西:
http://www.ibm.com/developerworks/cn/linux/filesystem/lvm/lvm-1/index.html
http://www.ibm.com/developerworks/cn/linux/filesystem/lvm/lvm-2/

谢谢

转载于:https://www.cnblogs.com/sarshes/archive/2013/01/10/2855374.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576122.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JSP中EL表达式说明

EL表达式总 EL表达式总是用大括号括起,而且前面有一个美元符($)前缀:${expression}。 表示式中第一个命名变量要么式一个隐式对象,要么是某个作用域(页面作用域、请求作用域、会话作用域或应用作用域&#…

mysql支持的存储引擎

SHOW ENGINES; 默认支持innodb,其他存储引擎都不支持事务 innodb存储引擎的架构:

当众讲话第二章当众讲话的基本原则

第二章,当众讲话的基本原则 符合身份,措辞要符合自己的角色 正确认识自己的角色,使用符合自己身份的语言,注意以下三点 1,你的称谓,口气要合适 2.注意自己的多重身份,针对不同的环境&#xff0c…

WinCE启动过程

0) TI 有内部ROM code 1) x-loader mlo : mmc loader (from sd card) 2) eboot nk.bin转载于:https://www.cnblogs.com/codediscuss/archive/2013/01/18/2866164.html

撑开最外侧的div

overflow: hidden;转载于:https://www.cnblogs.com/connlyn/archive/2013/01/21/2869504.html

[转]Nant daily build实践

本文转自:http://www.cnblogs.com/moonvan/archive/2006/11/07/552585.html 折腾了一个周,基于Nant的VS.NET项目每日构建终于成功了,在网上实际上有很多这样的例子,但所集成的解决方案都比较简单,我现在做的解决方案,有…

滤镜混合应用

混合滤镜使用:创建一个滤镜对象; 创建一个数组,并将滤镜的对象添加到该数组当中; 利用影片剪辑的filters属性,将数组当中的效果赋予该影片剪辑即可12345678import flash.display.Bitmap; import flash.display.…

Redisson的看门狗机制

来自他人文章:Redisson的看门狗机制_JAVA_侠的博客-CSDN博客_redisson看门狗机制

2013年1月23号

这几天一直在打酱油,估计到年前都不会有什么大动作了。 这周6公司年会,话说真够抠门的,年会还要在星期6开。 每天到公司来,打开电脑,看书,看代码,看界面,看文档,一天很快…

Windows 8的企业部署之路漫漫兮

日前,TechRepublic.com网站就企业升级Windows 8的计划对1200名IT员工进行了调查。结果显示,约74%的企业目前还没计划在企业内部部署Windows 8。排在前三名的原因分别是:1)现有的OS够用了;2)担心与之前应用的兼容性; 3)需培训员工熟悉Win8的新…

MyBatis + MVC 获取 UI 参数的几种方法(二)

方法一:(Form 中必须放name与model的字段名称相同的控件) { xtype: hiddenfield, name: id, id: id, hidden: true }var mNewRecord new IniStore.model.Store();mNewRecord.set(id, this.activeRecord.data.id);mImportForm.loadRecord(mNewRecord);mImportForm.s…

ramdisk根文件系统+initramfs

这几天做了下ramdisk根文件启动实验,小结下。 测试环境:Ubuntu 12.04 首先我认为先制作根文件系统好,因为配置内核中有一项跟你制作的ramdisk大小有关。这里我是直接使用原先制作好的根文件系统。 1. 制作ramdisk根文件系统镜像 首先安装ext2文件系…

MySQL数据库开启root用户远程登录

MySQL数据库开启root用户远程登录 如果mysql不支持远程连接,会出现提示:错误代码是1130,ERROR 1130: Host 192.168.0.10 is not allowed to connect to this MySQL server ,解决此问题有以下2个方法:1、改表法&#x…

CentOS操作系统(LAMP)安装教程

http://hi.baidu.com/marvinchen/item/d4f358d971b5b3e054347f44 转载于:https://www.cnblogs.com/Joynic/articles/2881344.html

localToGlobal 本地转换全局

// localToGlobal 本地转换全局var square:Sprite new Sprite(); square.graphics.beginFill(0xFFCC00); square.graphics.drawRect(0, 0, 100, 100); square.x 100; square.y 200;addChild(square);square.addEventListener(MouseEvent.CLICK, traceCoordinates)functio…

viewController详解

一、生命周期当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序 1、 alloc 创建对象,分配空间 2、init (initWithNibName) 初始化对象,初始化数据 3、loadView 从n…

Editplus For Python[转]

EditPlus是我常用的文件编辑器之一,用它来下脚本程序甚是方便,下面来看看如果配置吧: 1.先到www.editplus.com上下载editplus.exe,一步一步安装就好了,只有30天的试用期。 2.来配置python环境,到www.editpl…

硬件工程师在笔试中容易遇到的题目

名企硬件工程师面试考题大全 一、模拟电路 1、基尔霍夫定理的内容是什么?(仕兰微电子) 2、平板电容公式(CεS/4πkd)。(未知) 3、最基本的如三极管曲线特性。(未知) 4、描述反馈电路的概念&…

PyPyODBC 0.9.2发布 - 纯Python实现的pyodbc替代库

PyPyODBC发布了0.9.2版本,新版本加入了对Python 2.4的兼容性,加强了模块的健壮性,并修正了对Windows平台上Access MDB文件的创建和压缩功能。该模块的API语法尽力达到和著名的pyodbc库百分之百兼容,如果要在原有使用pyodbc的脚本上…