赛迪网 > IT技术 Linux > 系统管理
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

新手学堂:在Linux的系统中使用动态磁盘

发布时间:2008.01.18 06:13     来源:赛迪网    作者:kid

是否遇到过这样的问题,划分了 10G 的一个分区,挂接到 /home 下,可是随着时间的流逝,10G 的空间开始不够用了,需要把它扩充。假设要扩充到 12G,那么唯一的方法就是建立一个 12G 的新分区,然后将原来的 10G 分区中的数据全部移动到新分区中,再修改挂接配置。这样不仅麻烦而且浪费时间。

Linux 2.4 开始支持 LVM(Logical Volume Manager,逻辑卷管理器),通过 LVM,可以动态地改变“分区”(准确地说应当称之为卷)的大小,而不必担心数据移动的问题。LVM 的原理是,首先在硬盘上创建 PV(Physical Volume: 物理卷)。PV 可以创建在一个分区上,也可以创建在整个硬盘上,它由许多的 PE(Physical Extent)组成,每个 PE 的默认值为 4MB。之后将数个 PV 合在一起组成一个 VG(Volume Group: 卷组)。最后在 VG 中创建 LV(Logical Volume: 逻辑卷),它也由许多的 LE(Logical Extent)组成,LE 的大小与 PE 相同,并与 PE 一一对应。LV 就可以像普通的分区一样挂接在任何地方了。

下面我们总结一下这里出现的词汇:

LVM (Logical Volume Manager,逻辑卷管理器):Linux 中用于管理逻辑卷的功能。

PV(Physical Volume,物理卷):数据实际保存的位置,由许多 PE 组成。

VG(Volume Group,卷组):多个 PV 组合在一起。

LV(Logical Volume,逻辑卷):LVM 创建的虚拟卷,由许多 LE 组成,可以像普通分区一样进行挂接,可以动态修改大小。

PE(Physical Extent):LVM 管理的最小单位,默认为 4MB。

LE(Logical Extent):大小与 PE 相同,并与 PE 一一对应。

制作 LVM

下面我们尝试在 Linux 下使用 LVM 来管理分区。以下操作使用的系统为 Fedora Core 3。

1. 首先用 fdisk 创建两个分区 /dev/hda7 和 /dev/hda8,选择分区大小为 1G。结果如下:

Device Boot Start End Blocks Id System
/dev/hdb1 1 2117 1000251 83 Linux
/dev/hdb2 2118 4234 1000282+ 83 Linux

2. 使用 pvcreate 命令将分区建立为 PV。

# pvcreate /dev/hdb1
Physical volume "/dev/hdb1" successfully created
# pvcreate /dev/hdb2
Physical volume "/dev/hdb2" successfully created

3. 使用 vgcreate 命令将新建的两个 PV 组合成 VG。

# vgcreate newvg /dev/hdb1 /dev/hdb2
Volume group "newvg" successfully created

之后我们可以发现在 /dev 目录下多了一个名为 newvg 的目录,这就是我们建立的 VG。

4. 使用 lvcreate 命令在 newvg 中建立一个 LV,名为 lv01,大小为 256M。

# lvcreate -L 256M -n lv01 newvg
Logical volume "lv01" created

可以发现在 /dev/newvg 下多了一个名为 lv01 的符号链接,这就是 LV。

5. 在 lv01 上建立文件系统。

# mke2fs /dev/newvg/lv01

6. 挂接该文件系统。

# mount -t ext2 /dev/newvg/lv01 /root/lv

至此一个 LV 已经建立完毕。我们可以试着增大该 LV 的容量。使用 lvextend 命令将刚刚建立的 LV 增大 128M。扩大容量之后需要使用 resize2fs 命令来扩大原有的文件系统到新的容量。

# lvextend -L+128M /dev/newvg/lv01
Extending logical volume lv01 to 384.00 MB
Logical volume lv01 successfully resized

# umount /dev/newvg/lv01

# e2fsck -f /dev/newvg/lv01
e2fsck 1.36 (05-Feb-2005)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/newvg/lv01: 12/65536 files (8.3% non-contiguous), 10336/262144 blocks

# resize2fs /dev/newvg/lv01
resize2fs 1.36 (05-Feb-2005)
Resizing the filesystem on /dev/newvg/lv01 to 393216 (1k) blocks.
The filesystem on /dev/newvg/lv01 is now 393216 blocks long.

# mount -t ext2 /dev/newvg/lv01 /root/lv

之后马上就可以利用 df -h 命令看到文件系统的容量改变了。

我们也可以利用 vgdisplay 命令来查看 VG 的信息。

# vgdisplay newvg
--- Volume group ---
VG Name newvg
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 2
Act PV 2
VG Size 1.91 GB
PE Size 4.00 MB
Total PE 488
Alloc PE / Size 96 / 384.00 MB
Free PE / Size 392 / 1.53 GB
VG UUID YAlPwY-Vlfa-ZBa7-4jPQ-60Gk-Fzwi-jUW8BM

(责任编辑:云子)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· 在Linux操作系统下合并或分割文件的方法 (01-17) · Linux文件特殊权限 SUID/SGID/Sticky Bit (01-17)
· 在Linux的终端和Shell中显示中文的方法 (01-17) · Palm采用Linux内核 将推第二代操作系统 (01-17)
· VMware下让Linux系统与真实主机共享上网 (01-17) · Ubuntu Linux下笔记本禁用触摸板的方法 (01-16)
· 新手学堂:Ubuntu Linux系统的启动过程 (01-16) · Ubuntu Linux系统下自启动选项设置方法 (01-16)
· Linux操作系统下Vsftp配置使用详细解析 (01-16) · Ubuntu配置Java+Eclipse+MyEclipse环境 (01-16)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 北京新规不能霸王硬上弓 网店牌照缓期执行
· 软件外包之变的新台阶: 提高全球交付能力
· ERP案例分析 SaaS带来冲击 IT服务商面临挑战
· 通方期货CRM解决方案 房地产行业CRM解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统