`
Michaelmatrix
  • 浏览: 209567 次
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

linux 卷组 详细笔记

 
阅读更多

项目上的linux系统越多,这方面的request也渐渐多起来了。
突然接到一个客户的的需求,要在linux workstation上划分出10个G的分区。

一年前,对这个case还真是不再话下,肯定是三下五除二就搞定了。
可是在 windows的项目上呆的久了,linux的东西几乎全还给老师和那些朋友们了。怎么办?

当然没办法,还好还留有以前的笔记。于是—— 翻笔记呀——回忆阿——在自己的电脑安装vmware——再vmware上安装linux呀——模拟项目上那台workstation的磁盘分区呀等一系 列准备工作,然后开始测试,开始记录。

现在将整理过的的东西贴出来共享,告诉大家一个至理名言:拳不离手,曲不离开口,linux的命令 不能离开太久。

卷组命令
卷组相关命令的名称通常以vg开始后面紧跟相应的操作动作,如下所示
命 令 说明
vgcfgbackup 备份卷组中各物理卷的VGDA信息到/etc/lvmconf目录的文件中
vgcfgrestore 从文件中恢复卷组中物理卷的VGDA
vgchange 改变卷组属性
vgck 检测卷组中VGDA的一致性
vgcreate 建立新的卷组
vgdisplay 显示卷组属性
vgexport 输出卷组,使系统不能识别该卷组
vgextend 把物理卷加入卷组,实现对卷组的动态扩展
vgimport 输入卷组,使系统能够识别该卷组
vgmerge 合并两个已存在的卷组
vgmknodes 重新建立已有卷组的卷组目录和其中的设备文件
vgreduce 把卷组中未使用的物理卷移出卷组
vgremove 删除空的(不包含任何逻辑卷)卷组
vgrename 重命名非活动的卷组
vgscan 查找系统中现有卷组
vgsplit 把一个卷组拆分为两个
卷组 的一般维护命令
vgscan
vgscan命令检测系统中的所有磁盘,查找卷组的定义,并建立文件/etc/lvmtab和目录/etc /lvmtab.d中的文件
#vgscan
vgck
vgck [卷组名]
vgck命令用于检查卷组中卷组描述区域 (VGDA)信息的一致性。
#vgck
vgdisplay
vgdisplay [卷组名]
vgdisplay命令用于显 示卷组的属性信息,包括逻辑卷、物理卷及其大小等信息。
#vgdisplay
vgrename
vgrename 原卷组名 新卷组名

vgrename 原卷组名路径 新卷组名路径
vgrename命令用于对已存在的卷组进行改名
#vgrename myVG myVG1
...
#vgrename /dev/myVG1 /dev/myVG
...
vgchange
vgchange -a y|n [卷组名]
vgchange -l 最大逻辑卷数
vgchange -x y|n [卷组名]
vgchange 命令用于改变卷组的相应属性,如卷组中可容纳的最大逻辑卷数、卷组是否有效、卷组是否可分配等。
#vgchange -a y
vgchange -- volume group "myVG" successfully activated
#vgchange -x n
vgchange -- doing automatic backup of volume group "myVG"
vgchange -- volume group "myVG" successfully changed
vgmknodes
vgmknodes [卷组名|卷组路径]
vgmknodes 命令用于建立(重新建立)已有卷组的卷组目录和其中的设备文件。
#vgmknodes
vgmknodes -- successfully made all nodes of volume group "myVG"
卷组配置的备份与恢复命令
vgcfgbackup
vgcfgbackup [卷组名]
vgcfgbackup命令用于把卷组中的VGDA信息备份到/etc/lvmconf目录中的文件
#vgcfgbackup
vgcfgbackup -- volume groups found:myVG
vgcfgbackup -- successfully VGDA backup of volume group "myVG" to "/etc/lvmconf/myVG.conf"
vgcfgrestore
vgcfgrestore -n 卷组名 物理卷全路径名
vgcfgrestore命令用于从卷组备份文件中恢复指定物理卷的VGDA信息。使用vgcfgrestore 命令后要执行vgmknodes命令,重新建立卷组和逻辑卷的设备文件。
#vgcfgrestore -n myVG /dev/hdb1
vgcfgrestore -- INFO: using backup file "/etc/lvmconf/myVG.conf"
vgcfgrestore -- VGDA for "myVG" successfully restored to physical volume "/dev/hdb1"
卷 组的建立与删除命令
vgcreate
vgcreate 卷组名 物理卷全路径名 [物理卷全路径名]
vgcreate命令使用指 定的物理卷创建卷组。
#vgcreate myVG /dev/hdb2
vgremove
vgremove 卷组名
vgremove 命令用于删除指定的卷组,被删除的卷组中不能包含逻辑卷,并且该卷组不能是活动的。
#vgremove myVG
卷组的扩充与缩小命令
vgextend
vgextend 卷组名 物理卷全路径名 [物理卷全路径名]
vgextend命令用于将一个或多个已初始化的物理卷添加到指定的卷组,扩充其容量。
#vgextend myVG /dev/hdb2
vgreduce
vgreduce 卷组名 物理卷全路径名 [物理卷全路径名]
vgreduce 命令用于从卷组中去除一个或多个未使用的物理卷,卷组的容量也会随之减小。
#vgreduce myVG /dev/hdb2
卷组的合并 与拆分命令
vgmerge
vgmerge 目的卷组名 源卷组名
vgmerge命令用于合并两个已存在的卷组,要求两个卷组的物 理区域(PE)大小相等,且源卷组是非活动的。
#vgmerge myVG myVG1
vgsplit
vgsplit 现有卷组 新卷组 物理卷组全路径名 [物理卷组全路径名]
vgsplit命令用于把一个或多个物理卷从其所在的卷组分离到新创建的卷组,被拆分的卷组应 是“活动”的。被分离出来的物理卷中不能包含任何的逻辑卷,可以预先使用pvmove命令把逻辑卷转移到其他的物理卷中。
#vgsplit myVG myVG1 /dev/hdb2
卷组的输入输出命令
vgexport
vgexport 卷组名
vgexport 命令用于输出一个卷组,使系统不可识别该卷组,该卷组应是非活动的。此后就可以把该卷组中的所有物理卷转移到其他系统中,并用vgimport命令进行输 入。一个已经输出的卷组不能够被vgscan命令识别到,但是pvscan命令可以显示哪些物理卷属于已输出的卷组。
#vgchange -a n myVG1
vgchange -- volume group "myVG1" successfully deactivated
#vgexport myVG1
vgexport -- volume group "myVG1" successfully exported
vgimport
vgimport 卷组名 卷组中的物理卷 [卷组中的物理卷]
vgimport 命令用于输入一个已输出的卷组,使当前系统可以识别到该卷组。
#vgimport myVG1 /dev/hdb2
逻辑卷命令
逻辑卷相关命令的名称通常以lv开始后面紧跟相应的操作动作,如下所示:
命 令 说明
e2fsadm 对逻辑卷中的ext2文件系统扩充或缩小(需要使用resize2fs命令)
lvchange 改变逻辑卷属性
lvcreat 创建新的逻辑卷
lvdisplay 显示逻辑卷属性
lvextend 扩展逻辑卷容量
lvreduce 缩小逻辑卷容量
lvremove 删除非活动的逻辑卷
lvrename 对非活动的逻辑卷改名
lvscan 查找现有逻辑卷
逻辑卷的一般维护命令
lvscan
lvscan命令在系统可识别的卷组中查找已定义的逻辑卷
#lvscan
lvscan -- ACTIVE "/dev/myVG/myLV" [12MB]
lvscan -- 1 logical volumes with 12 MB total in 1 volume group
lvscan -- 1 active logical volumes
lvdisplay
lvdisplay 逻辑卷全路径名 [逻辑卷全路径名]
lvdisplay命令用于显示指定逻辑卷的属性,如大小、读写状态等信息。
#lvdisplay /dev/myVG/myLV
......
lvrename
lvrename 旧逻辑卷全路径名 新逻辑卷全路径名
lvrename 卷组名 旧逻辑卷名 新逻辑卷名
lvrename命令用于对已存在的逻辑卷改名。该命令有两种命令格式,可以直接指定新旧逻辑卷的全路径名,也 可以先指定该逻辑卷所在的卷组名后再指定新旧逻辑卷名。
#lvrename /dev/myVG/myLV /dev/myVG/myLV1
......
#lvrename myVG myLV1 myLV
......
lvchange
lvchange [-a/--available y/n] [-C/--contiguous y/n]
[-p/--permission r/rw] [-r/--readahead ReadAheadSectors]
逻辑卷全路径名 [逻辑卷全路径名]
lvchange 命令用于改变指定逻辑卷的属性,如可用性、连续性、读写许可、预读等属性。
#lvchange -a n /dev/myVG/myLV
e2fsadm
e2fsadm -L +|- 逻辑卷增减量 逻辑卷全路径名
e2fsadm命令用于改变(增加或减小)ext2分区的大小,该ext2分区可以是已挂载或未挂 载的。
#e2fsadm -L +4M /dev/myVG/myLV
逻辑卷的创建与删除命令
lvcreate
lvcreate -L 逻辑卷大小 -n 逻辑卷名 卷组名
lvcreate命令用于在指定的卷组(VG)中建立逻辑卷(LV),可指定的参数有要建立的逻辑卷 名称、大小等。
#lvcreate -L 10M -n myLV1 myVG
lvremove
lvremove 逻辑卷全路径名
lvremove命令用于从卷组中移除非活动的逻辑卷
#lvremove /dev/myVG/myLV1
逻辑卷 的扩充与缩小命令
lvextend
lvextend -L|--size +逻辑卷大小增量 逻辑卷全路径名
lvextend命 令用于扩展逻辑卷的大小,该命令也可以很好的扩展快照逻辑卷(snapshot logical volumes)
#lvextend -L +4M /dev/myVG/myLV
lvreduce
lvreduce -L| -size -逻辑卷减小量 逻辑卷全路径名
lvreduce 命令用于减小逻辑卷的大小。减小逻辑卷的时候应小心,因为逻辑卷中被减小部分的数据将丢失
#lvreduce -L -4M /dev/myVG/myLV
逻辑卷管理命令
逻辑卷管理命令的名称通常以lvm开始后面紧跟相应的操作动作,如下所示:
命 令 说明
lvmchange 在紧急情况下用于复位逻辑卷管理器
lvmdiskscan 检测硬盘和分区中的逻辑卷管理信息
lvmsadc 收集逻辑卷的读写统计数据
lvmsar 报告lvmsadc命令收集的逻辑卷的读写统计数据
lvmdiskscan
lvmdiskscan检测所有的SCSI、IDE等存储设 备,并输出摘要信息,包括名称、大小、类型等内容
#lvmdiskscan
lvmchange
lvmchange -R|--reset
lvmchange命令用于复位逻辑卷管理器(logical volume manager)。该命令将设置所有卷组和逻辑卷处于非活动状态,使用时一定要谨慎。
#lvmchange -R
lvmsadc
lvmsadc [日志文件全路径名]
lvmsadc命令收集逻辑卷管理器的读写统计信息,保存到指定的日志文件中。如未指定日志文件,则输出到标准输出设备。
#lvmsadc lvmlog
lvmsar
lvmsar 日志文件全路径名
lvmsar命令从lvmsadc命令生成的日志文件中读取并报告逻 辑卷管理器的读写统计信息。
#lvmsar lvmlog

Linux中的分区与文件系统
ext2文件系统是Linux 中自带的文件系统类型,ext3是ext2文件系统的后继版本。
swap文件系统在Linux中作为交换分区使用。
在Linux中把 DOS下的所有FAT文件系统统统称为vfat。
NFS即为网络文件系统,用于在Unix系统间通过网络进行文件共享。
ISO9660是 光盘所使用的标准文件系统。
在硬盘中建立分区
使用fdisk
在分区中建立文件系统,即所谓格式化分区,只有在分区中建立了相应的 文件系统,分区才能够用于保存文件。
建立文件系统的命令:
命令名1 命令名2 命令名3 说明
mkfs.ext3 mkfs.ext2 mke2fs 建立ext3文件系统
mkfs.vfat mkfs.msdos mkdosfs 建立vfat文件系统
mkfs.reiserfs mkreiserfs 建立reiser文件系统
mkfs.jfs 建立jfs文件系统
mkswap 建立swap文件系统

在硬盘分区中建立文件系统 时需要注意,分区类型与分区中建立文件系统的类型要一致,否则在挂载分区时会有问题。
把分区挂载到系统中
挂载点目录要求为空
使用 mount命令,如果需要系统每次启动时都自动挂载该文件系统则需要在文件/etc/fstab中添加相应的设置行。
磁盘分区命令
fdisk 用法如前所示
parted
parted [硬盘设备文件全路径名]
parted命令用于对指定硬盘中的分区进行维护。
// 如不在parted命令中指定硬盘设备文件,则使用系统当前的硬盘
#parted
......
(parted) help //输入help命令显示帮助信息
......
(parted) print //输入print命令显示硬盘分区
......
(parted) quit //输入quit命令退出parted环境
ext3文件系统维护
mke2fs 分区设备文件名
mke2fs命令用 于建立ext2/ext3文件系统
#mke2fs /dev/hdb1
e2label
e2label 分区设备文件 [新的卷标名称]
e2label命令用于显示或设置指定ext2或ext3分区的卷标
//设置/dev/hdb1的卷标为/var /ftp
#e2label /dev/hdb1 /var/ftp
//显示/dev/hdb1的卷标
#e2label /dev/hdb1
/var/ftp
findfs
findfs LABEL=文件系统卷标
findfs命令用于在系统中 查找指定卷标的文件系统
#findfs LABEL=/var/ftp
/dev/hdb1
e2fsck
e2fsck 分区设备文件名
e2fsck命令用于检测指定分区中的ext2/ext3文件系统并进行错误修复
#e2fsck /dev/hdb1
e2fsck 1.32(09-Nov-2002)
/var/ftp:clean,11/50200 files,6351/200781 blocks
#e2fsck /dev/sda1
e2fsck 1.32(09-Nov-2002)
/dev/sda1 is mounted
WARNING!!! Running e2fsck on a mounted filesystem may cause SEVERE filesystem damage.
//e2fsck命令不能用于检测系统中已装载的文件系统,否则会造成文件系统的损害
Do you really want to continue (y|n)? no
check aborted.
mount
mount命令不指定任何参数, 使用时显示当前系统中已挂载的文件系统的信息。
#mount
//mount命令显示的信息来自文件/etc/mtab
#more /etc/mtab
装载文件系统
mount 设备文件名 挂载点目录
mount用于把指定的设备(如硬盘分区)挂载到指定目录
#mount /dev/hdb1 /var/ftp/
设置系统启动时自动挂载文件系统
编辑/etc/fstab文件

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics