1. Linux的磁盘分区格式有何区别
对于ide硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指ide硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个ide硬盘上的第三个主分区或扩展分区,hdb2表示为第二个ide硬盘上的第二个主分区或扩展分区。对于scsi硬盘则标识为“sdx~”,scsi硬盘是用“sd”来表示分区所在设备的类型的,其余则和ide硬盘的表示方法一样,不在多说。
我们从上面可以看到,red hat linux的分区是不同于其它操作系统分区的,它的分区格式只有ext2和swap两种,ext2用于存放系统文件,swap则作为red hat linux的交换分区。那么现在我们就可以知道red hat linux至少需要两个专门的分区(linux native和linux swap)况且不能将red hat linux安装在dos/windows分区。一般来说我们将red hat linux安装一个或多个类型为“linux native”的硬盘分区,但是在red hat linux的每一个分区都必须要指定一个“mount point”(载入点),告诉red hat linux在启动时,这个目录要给哪个目录使用。对“swap”分区来说,一般定义一个且它不必要定义载入点。下面我们先对“linux native”和“linux swap”有个初步的了解。
*swap分区是linux暂时存储数据的交换分区,它主要是把主内存上暂时不用得数据存起来,在需要的时候再调进内存内,且作为swap使用的分区不用指定“mout point”(载入点),既然它作为交换分区,我们理所当然应给它指定大小,它至少要等于系统上实际内存的量,一般来说它的大小是内存的两倍,如果你是16mb的内存,那么swap分区的大小是32mb左右,以此类推。但必须还要注意一点,swap分区不要大于128mb,如果你是64mb的内存,那么swap分区最大也只能被定为127mb,再大就是浪费空间了,因为系统不需要太大的交换分区。以此类推,如果你是128mb或更大的内存,swap分区也只能最大被定为127mb。况且你还必须注意的是如果你是128mb(或更大)的内存,你必须提醒系统你有这么大的内存,要不然它可不认你这个128mb内存。具体如下:当顺利启动了安装过程后,会显示一个boot:提示符,这时你只要键入boot:linux mem=128mb就可以了。另外你也可以创建和使用一个以上的交换分区,最多16个。
*linux native是存放系统文件的地方,它只能用ext2的分区类型,上面已说过。对windows用户来说,操作系统必须装在同一分区里,它是商业软件吗!所以你没有选择的余地!对red hat linux来说,你有了较大的选择余地,你可以把系统文件分几个区来装(必须要说明载入点),也可以就装在同一个分区中(载入点是“/”)。下面我们看看可以创建哪些分区(仅列常用几种)。
/boot分区,它包含了操作系统的内核和在启动系统过程中所要用到的文件,建这个分区是有必要的,因为目前大多数的pc机要受到bios的限制,况且如果有了一个单独的/boot启动分区,即使主要的根分区出现了问题,计算机依然能够启动。这个分区的大小约在50mb—100mb之间。但是如果想用lilo启动red hat linux系统的话,含有/boot的分区必须完全在柱面1023以下。又由于8gb后的数据lilo不能读取,所以red hat linux要安装在8gb的区域以内。
/usr分区,是red hat linux系统存放软件的地方,如有可能应将最大空间分给它。
/home分区,是用户的home目录所在地,这个分区的大小取决于有多少用户。如果是多用户共同使用一台电脑的话,这个分区是完全有必要的,况且根用户也可以很好地控制普通用户使用计算机,如对用户或者用户组实行硬盘限量使用,限制普通用户访问哪些文件等。其实单用户也有建立这个分区的必要,因为没这个分区的话,那么你只能以根用户的身份登陆系统,这样做是危险的,因为根用户对系统有绝对的使用权,可一旦你对系统进行了误操作,麻烦也就来了。
/var/log分区,是系统日志记录分区,如果设立了这一单独的分区,这样即使系统的日志文件出现了问题,它们也不会影响到操作系统的主分区。
/tmp分区,用来存放临时文件。这对于多用户系统或者网络服务器来说是有必要的。这样即使程序运行时生成大量的临时文件,或者用户对系统进行了错误的操作,文件系统的其它部分仍然是安全的。因为文件系统的这一部分仍然还承受着读写操作,所以它通常会比其它的部分更快地发生问题。
/bin分区,存放标准系统实用程序。
/dev分区,存放设备文件。
/opt分区,存放可选的安装的软件。
/sbin分区,存放标准系统管理文件。
上面介绍了几个常用的分区,一般来说我们需要一个swap分区,一个/boot分区,一个/usr分区,一个/home 分区,一个/var/log分区。当然这没有什么规定,完全是依照你个人来定的。但记住至少要有两个分区,一个swap分区,一个/分区。下面我们来看看怎样分区。
用户可以使用两种分区工具:
1.disk druid:它是red hat linux提供的硬盘管理工具,它最初是随red hatlinux5一起发售的,它可以根据用户的要求创建和删除硬盘分区,另外还可以为每个分区管理载入点,这是一个不错的分区软件,建议读者使用。本文也将以此软件详细地介绍red hat linux分区。
2.fdisk:它是传统的linux硬盘分区工具,比disk druid更强大,使用更加灵活。但是fdisk要求用户对硬盘分区有一定经验,并能够适应且读懂简单的文本界面。如果你是第一次对一个硬盘驱动器进行分区操作的话,最好还是避免fdisk这样的程序,它虽然强大但用起来的感觉不是太好的。
附注:此外red hat linux还提供了一种叫fips的分区软件,但这种分区软件具有一定的危险性,不宜提倡操作。虽然有许多人已经成功地用fips对他们的硬盘进行了分区,但这不能保证fips将在你的系统中也能正常地运行。况且red hat linux也不提供对fips的支持,劝你对这种分区软件还是慎用为好。
如果你希望将red hat linux安装在已经含有其他操作系统的盘上,也就是多重操作系统,这个情况就比较复杂了,因为一个错误就可以毁掉你辛辛苦苦保存的数据,让你欲哭无泪。如果你想让red hat linux与os/2共存,那你必须使用os/2的分区软件来创建硬盘分区,要不然os/2将不能识别硬盘分区。另外你也可以用其它的一些分区软件来分区,下面列出了一些常见的这种分区工具软件:
2. Linux系统中如何添加、使用硬盘求解
步骤:1、开机文本模式下启动linux操作系统,进入/dev,查看添加的硬盘设备文件: ls hdb2、对硬盘hdb进行分区操作: 1)输入命令: fdisk /dev/sdb,进入分区命令模式。 2)在command (m for help):提示符下输入“n”创建新的分区 3)在command action下选择分区的类型。“e”表示扩展分区,“p”表示主分区,选好分区类型以后,选择分区数(即,第几个分区)。 4)接下来会确定分区的大小,即确定开始柱面和终止柱面的大小。根据实际情况,进行 分区大小设置。通过这样的步骤就完成了一个分区操作。 5)继续2)~4)的操作,创建其他的分区。 6)完成所有的分区后,在command (m for help):提示符下输入“w”,(一定要有这个步骤,否则分区结果不成功)将完成的分区操作保存,并退出分区操作。3、查看已经分区好的硬盘: ls /dev/hdb1 ls /dev/hdb24、对分好的硬盘分区进行格式化操作: 根据需要对所创建的磁盘分区进行格式化操作。本文中对建立的连个主分区进行格式化(/dev/hdb1和/dev/hdb2),并且将一个分区格式化成ext3格式,一个分区格式化成fat格式。具体操作如下: mkfs.ext3 /dev/hdb1 mkfs.vfat /dev/hdb25、使用分区好的硬盘: 1)进入到/mnt目录: cd /mnt 2)创建ext3目录和vfat目录以备挂载分好的两个分区: mkdir ext3 mkdir vfat 3)挂载格式化好的两个分区: mount /dev/hdb1 /mnt/ext3 mount /dev/hdb2 /mnt/vfat 4)开放ext3和vfat目录的权限,以便允许匿名可读可写: chmod 777 ext3 chmod 777 vfat6、通过以上5步就完成了手动挂载,不过一旦机器重新启动后必须要重新mount一下,比较麻烦,解决方法是:修改开机自动挂载分区文件/etc/fstab。
3. linux下两个磁盘下都有var目录 怎么分别开来
Linux下没有盘符的概念,而是将各分区通过挂载到目录(挂载点)来访问实际的磁盘分区,有时候我们想知道某个文件或目录是在哪个分区上,
有如下几种方法:
1、最简单的,直接 df -h 目录名
比如我要查看工作目录下的pan目录在哪个分区
# df -h pan
可以看到,pan在vda1分区下
1.设备管理
在Linux中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等IDE或SCSI设备也不例外。Linux把各种IDE设备分配了一个由hd前缀组成的文件;而对于各种SCSI设备,则分配了一个由sd前缀组成的文件。
对于ide硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指ide硬盘了。“x”为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“~”代表分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。例,hda3表示为第一个ide硬盘上的第三个主分区或扩展分区,hdb2表示为第二个ide硬盘上的第二个主分区或扩展分区。对于scsi硬盘则标识为“sdx~”,scsi硬盘是用“sd”来表示分区所在设备的类型的,其余则和ide硬盘的表示方法一样,不在多说。
例如,第一个IDE设备,Linux就定义为hda;第二个IDE设备就定义为hdb;下面以此类推。而SCSI设备就应该是sda、sdb、sdc等。
2.分区数量
要进行分区就必须针对每一个硬件设备进行操作,这就有可能是一块IDE硬盘或是一块SCSI硬盘。对于每一个硬盘(IDE或SCSI)设备,Linux分配了一个1到16的序列号码,这就代表了这块硬盘上面的分区号码。例如,第一个IDE硬盘的第一个分区,在Linux下面映射的就是hda1,第二个分区就称作是hda2。对于SCSI硬盘则是sda1、sdb1等。
3.各分区的作用
在Linux中规定,每一个硬盘设备最多能有4个主分区(其中包含扩展分区)构成,任何一个扩展分区都要占用一个主分区号码,也就是在一个硬盘中,主分区和扩展分区一共最多是4个。对于早期的DOS和Windows(Windows 2000以前的版本),系统只承认一个主分区,可以通过在扩展分区上增加逻辑盘符(逻辑分区)的方法,进一步地细化分区。
主分区的作用就是计算机用来进行启动操作系统的,因此每一个操作系统的启动,或者称作是引导程序,都应该存放在主分区上。
这就是主分区和扩展分区及逻辑分区的最大区别。
我们在指定安装引导Linux的bootloader的时候,都要指定在主分区上,就是最好的例证。Linux规定了主分区(或者扩展分区)占用1至16号码中的前4个号码。以第一个IDE硬盘为例说明,主分区(或者扩展分区)占用了hda1、hda2、hda3、hda4,而逻辑分区占用了hda5到hda16等12个号码。因此,Linux下面每一个硬盘总共最多有16个分区。对于逻辑分区,Linux规定它们必须建立在扩展分区上(在DOS和Windows系统上也是如此规定),而不是主分区上。因此,我们可以看到扩展分区能够提供更加灵活的分区模式,但不能用来作为操作系统的引导。除去上面这些各种分区的差别,我们就可以简单地把它们一视同仁了。
4.分区指标
对于每一个Linux分区来讲,分区的大小和分区的类型是最主要的指标。容量的大小读者很容易理解,但是分区的类型就不是那么容易接受了。分区的类型规定了这个分区上面的文件系统的格式。Linux支持多种的文件系统格式,其中包含了我们熟悉的FAT32、FAT16、NTFS、HP-UX,以及各种Linux特有的Linux Native和Linux Swap分区类型。在Linux系统中,可以通过分区类型号码来区别这些不同类型的分区。各种类型号码在介绍Fdisk的使用方式的时候将会介绍。
4. Linux系统有虚拟内存技术吗知道或不知道的都来说说吧!
关于Linux的虚拟内存问题啊~怎么说呢
在Linux中也有用于交换的虚拟内存,但Linux的文件系统和Windows不一样
所以实现的原理也不一样,在Linux中,虚拟内存被单独分出一个去叫SWAP的扇区来存放,当然你也可以不分,交换空间可以是一个专用的交换分区(推荐的方法),交换文件,或两者的组合。
交换空间的总大小应该相当于你的计算机内存的两倍和 32 MB这两个值中较大的一个,但是它不能超过 2048 MB(2 GB)。
添加交换空间
有时,你会有必要在安装后添加更多的交换空间。例如,你把系统内存从 64 MB 升级到 128 MB,但是你只有 128 MB 的交换内存。如果你执行的是大量使用内存的操作或运行需要大量内存的程序,把交换区增加到 256 MB 可能会对你有利。
你有两种选择:添加一个交换分区或添加一个交换文件。推荐你添加一个交换分区,不过,若你没有多少空闲空间可用,创建交换分区可能会不大容易。
要添加一个交换分区(假设 /dev/hdb2 是你想添加的交换分区):
硬盘驱动器不能在被使用(分区不能被挂载,交换分区不能被启用)。要达到这一目的的最简单方法是在救援模式下引导你的系统.
如果驱动器不包含任何被使用的分区,你还可以卸载这些分区,使用 swapoff 命令来关闭硬盘驱动器上的所有交换空间。
使用 parted 或 fdisk 来创建交换分区。 parted 比 fdisk 使用起来更方便,因此,只有 parted 在这里会被说明。要使用 parted 来创建交换分区:
在 shell 提示下以根用户身份键入命令: parted /dev/ hdb 。这里的 /dev/ hdb 是你的带有空闲空间的硬盘驱动器的设备名称。
在 (parted) 提示下,键入 print 来查看现存的分区和空闲空间的数量。起止值以 MB 为单位。判定硬盘驱动器上的空闲空间数量,以及你想给新建的交换分区分配的空间数量。
在 (parted) 提示下,键入 mkpartfs part-type linux-swap start end ,这里的 part-type 是 primary、extended、logical 中的一个, start 是分区的起始点, end 是分区的终止点。
警告:改变会立即发生,在键入时请谨慎从事。
键入 quit 来退出 parted 。
现在,你就可以创建交换分区了,使用 mkswap 命令来设置交换分区。在 shell 提示下以根用户身份键入以下命令:
mkswap /dev/hdb2
要立即启用交换分区,键入以下命令:
swapon /dev/hdb2
要在引导时启用,编辑 /etc/fstab 文件来包括以下行:
/dev/hdb2 swap swap defaults 0 0
在系统下次引导时,它就会启用新建的交换分区。
新添了交换分区并启用它之后,请查看 cat /proc/swaps 或 free 命令的输出来确保交换分区已被启用了。
要添加交换文件:
判定新交换文件的大小,将大小乘以 1024 来判定块的大小。例如,大小的 64 MB 的交换文件的块大小为 65536。
在 shell 提示下以根用户身份键入以下命令,其中的 count 等于想要的块大小:
dd if=/dev/zero of=/swapfile bs=1024 count=65536
使用以下命令来设置交换文件:
mkswap /swapfile
要立即启用交换文件而不是在引导时自动启用,使用以下命令:
swapon /swapfile
要在引导时启用,编辑 /etc/fstab 文件来包含以下行:
/swapfile swap swap defaults 0 0
系统下次引导时,它就会启用新建的交换文件。
新添了交换分区并启用它之后,请查看 cat /proc/swaps 或 free 命令的输出来确保交换分区已被启用了。
2.3. 删除交换空间
要删除交换分区:
硬盘驱动器不能在被使用(分区不能被挂载,交换分区不能被启用)。要达到这一目的的最简单方法 是在救援模式下引导你的系统。
如果驱动器不包含任何被使用的分区,你还可以卸载这些分区,使用 swapoff 命令来关闭硬盘驱动器上的所有交换空间。
在 shell 提示下以根用户身份键入以下命令来确定交换分区已被禁用(这里的 /dev/hdb2 是交换分区):
swapoff /dev/hdb2
从 /etc/fstab 文件中删除这个项目。
使用 parted 或 fdisk 来删除分区。只有 parted 在这里会被说明。要使用 parted 来删除分区:
在 shell 提示下以根用户身份键入命令: parted /dev/ hdb 。这里的 /dev/ hdb 是你的带有交换空间的硬盘驱动器的设备名称。
在 (parted) 提示下,键入 print 来查看现存的分区并判定你想删除的交换分区的次要号码。
在 (parted) 提示下,键入 rm MINOR ,这里的 MINOR 是你想删除的分区的次要号码。
警告:改变会立即发生,你必须键入正确的次要号码。
键入 quit 来退出 parted 。
要删除交换文件:
在 shell 提示下以根用户身份执行以下命令来禁用交换文件(这里的 /swapfile 是交换文件):
swapoff /swapfile
从 /etc/fstab 中删除该项目。
删除实际文件:
rm /swapfile
2.4. 移动交换空间
要把交换空间从某处移到另一处,请首先遵循删除交换空间的说明,再遵循添加交换空间的说明....
更多的交换技术还要等待我们去慢慢实现
5. RHEL7 里LVM中创建VG时的PE问题
LVM(Logical Volumn Manager):
总体思路:分区成LVM格式(8e)---PV创建--VG创建---LV创建---格式化分区---MOUNT分区----e2fsadm调整LV大小
几个关键词:
PV (Physical Volumn);VG(Volumn Group); LV(Logical Volumn);PE(Physical Extend物理块 default 4M); LE(Logical Extend逻辑块) PE:LE=1:1(Normal)
LVM的结构简图如下:
hda1 hdc1 sdc (PV:s 物理卷,一般为分区或整个硬盘)
| /
| /
diskvg (VG 卷组由物理卷组成)
/ |
/ |
usrlv rootlv varlv (LV:s 逻辑卷在卷组上创建)
| | |
ext2 reiserfs xfs (建立在逻辑卷上的文件系统)
PV: 实体分割区(Partition)/dev/had...
VG: 虚拟硬盘 /dev/vg_name
LV: 虚拟分割区 /dev/vg_name/lv_name
LVM创建过程:
如有三个硬盘hda2(3G)/hdb2(3G)/hdc2(3G)/hdd2(3G)+hda1(100M boot分区)
1、创建分区:
fdisk /dev/hda(..hdb..hdc..hdd) -----p---n--t--8e---p--w--- reboot
(分出hda2/hdb2/hdc2/hdd2各3G的分区,分区格式为8e(lvm分区)
2、创建物理卷(PV):
pvcreate [-v] /dev/hda2 /dev/hdb2 /dev/hdc2 /dev/hdd2
***创建物理卷(PV)之前可以通过pvscan 查看是否有物理卷及其信息,如pvscan查看到现有PV(如/dev/hdb1、/dev/hdc1)属于VG (如VG0),则可以通过
pvdisplay /dev/hdb1查看现有LVM的情况。
****-v显示创建的全部过程,可以省略
3、创建卷组(VG):
vgcreate [-v] [-s 8M]vg01 /dev/hda2 /dev/hdb2 /dev/hdc2 /dev/hdd2
***创建卷组((VG)之前可以通过vgdisplay查看现有卷组信息;
*** -s 创建的VG的PE大小(如8M),默认省略不写为4M,必须是4的整数倍;
***VG创建好后,自动就Active起来,若没有自动Active则可以通过 vgchange -a y vg01激活 VG;也可以通过vgchange -a n vg01 关闭Actice 的VG为Deactive;
***只有对Deactive 的VG才能进行更改、删除;VG的重命名不需要Deactive,如 vgrename old_vg_name new_vg_name;
***vgremove 删除现有VG :vgremove vg_name;必须是Deactive VG.
***若在创建了LVM后发现硬盘空间不够,则可以创建一个LVM分区,通过pvcreate激活此分区,再通过vgextend加入到现有VG中以扩充空间。
pvcreate /dev/hde2 ; vgextend -v vg01 /dev/hde2 将hde2加入到现有vg01中以扩充空间。
***若要删除VG中的PV,必须先确认此PV没有被VG所使用:如/dev/hdd2,先查看pvdisplay /dev/hdd2 中的PV Status,若为Not Availiable则可以删除;
vgrece -v vg01 /dev/hdd2
4、创建逻辑卷(LVM):
命令lvcreate的常用方法:
lvcreate [options] -n 逻辑卷名 卷组名
其中的常用可选项有:
"-i Stripes :采用交错(striped)方式创建LV,其中Stripes指卷组中PV的数量。
"-I Stripe_size :采用交错方式时采用的块大小(单位为KB),Stripe_size必须为2的指数:2N ,N=2,3...9。
"-l LEs :指定LV的逻辑块数。
"-L size :指定LV的大小,其后可以用K、M、G表示KB、MB、GB。
"-s :创建一已存在LV的snapshot卷。
"-n name :为LV指定名称。
创建普通LV:
lvcreate -L 5G -n lv01 vg01 创建一个名为lv01的5G 虚拟分区在虚拟硬盘vg01上 /dev/vg01/lv01
lvcreate -i 4 -I 8 -L 4G -n lv02 vg01 [-i 是VG中组成PV的分区个数,-I 块大小,-L LV的大小]
创建快照LV:
lvcreate -s -i 4 -I 16 -L 2G -n lv03_snapshot vg01
5、创建文件系统:
mke2fs -j /dev/vg01/lv01 (mkfs.ext3 /dev/vg01/lv02; mkfs.ext3 /dev/vg01/lv_snapshot)
6、挂载:
mkdir /mnt/lv01 ;
mount -t ext3 /dev/vg01/lv01 /mnt/lv01;
7、增、减LV大小:
umount /lv01;
e2fsadm -L+100M(-100M) /dev/vg01/lv01
****
总结:
1) fdisk /dev/hd?--8e (/dev/hda2;/dev/hdb2;/dev/hdc2/;dev/hdd2)
2) pvcreate /dev/hda2 /dev/hdb2 /dev/hdc2
3)vgcreate vg01 /dev/hd2 /dev/hdb2 /dev/hdc2
4)lvcreate [-s] [-i pv_pation_count] [-I n*2k] -L 分区大小 [-n lv_name] vg01
5)mke2fs [-j] /vg01/lv_name
6) mkdir /mnt/mnt_point; mount -t ext3 /dev/vg01/lv_name /mnt/mnt_point;
增加硬盘已扩充分区容量:
1) pvcreate /dev/hdd2;
2) vgextend vg01 /dev/hdd2;
3)lvextend -L+100M /dev/vg01/lv_name; (在线扩充分区大小) lvrece -L -100M /dev/vg01/lv_name (在线扩充分区大小)
若VG中有容量未分配可以通过以下方法增加(或减少)分区容量:
1) umount /mnt/mnt_point;
2) e2fsadm -L+100M /dev/vg01/lv_name
**以上扩充必须是LV中最后一个LV(如/dev/vg01/lv01;/dev/vg01/lv02; /dev/vg01/lv03)
只能正常、正确扩充最后一个LV :lv03;若扩充lv01、lv02可能会有问题发生。
6. 请写出对硬盘存储设备命名中/dev/hdb2 表示什么
hdb2表示第二块IDE硬盘上的第二个分区
7. linux系统下地磁盘命名原则是什么啊
在Linux下对IDE的设备是以hd命名的,一般主板上有两个IDE接口,一共可以安装四个IDE设备。主IDE上的主从两个设备分别为hda和hdb,第二个IDE口上的两个设备分别为hdc和hdd。一般硬盘安装在主IDE的主接口上,所以是hda 。
SCSI接口设备是用sd命名的,第一个设备是sda,第二个是sdb。依此类推 。
分区是用设备名称加数字命名的。要完全了解Linux硬盘分区名称的规则,你必须先了解主分区、扩展分区、逻辑分区的概念和他们的关系。一个硬盘最多可以分4个主分区;因此硬盘可以被分为1-3个主分区加一个扩展分区,或者仅有1-4个主分区。对于扩展分区,可以继续对他进行划分,分成若干个逻辑分区,也就是说扩展分区只不过是逻辑分区的“容器”。主分区的名称分别是hda1、hda2、hda3和hda4 ,其中扩展分区也占用一个主分区的名称。逻辑分区的名称一定是从hda5开始,每增加一个分区,分区名称的数字就加1,如hda6代表第二个逻辑分区等等。
SCSI接口的硬盘与此类似。
要了解自己硬盘的windows下的D、E、F分区在Linux下是什么名称,就一定要先了解自己的硬盘是怎么分区的。是主分区还是逻辑分区,是第几个主分区(逻辑分区)。
只能分配4个主分区的原因:MBR(Master Boot Record)只有存放4个分区信息的空间(64字节)。
MBR(Master Boot Record),即主引导记录,位于整个硬盘的0磁道0柱面1扇区。不过,在总共512字节的主引导扇区中,MBR只占用了其中的 446个字节(偏移0--偏移1BDH),另外的64个字节(偏移1BEH--偏移1FDH)交给了DPT(Disk Partition Table硬盘分区表),最后两个字节"55,AA"(偏移1FEH- 偏移1FFH)是分区的结束标志。这个整体构成了硬盘的主引导扇区。
8. 如何在LINUX下使用LVM
LVM是Logical Volume Manager(逻辑卷管理器)的简写,它为主机提供了更高层次的磁盘存储管理能力。LVM可以帮助系统管理员为应用与用户方便地分配存储空间。在LVM管理下的逻辑卷可以按需改变大小或添加移除。另外,LVM可以为所管理的逻辑卷提供定制的命名标识。因此,使用LVM主要是方便了对存储系统的管理,增加了系统的扩展性。
一、准备lvm环境
1.硬盘的准备
添加了一块硬盘/dev/hdb。
准备了三个分区,方案如下:容量为100M,仅为了实验准备。
/dev/hdb1
/dev/hdb2
/dev/hdb3
2.转换分区类型为lvm卷
fdisk /dev/hdb
t转换为lvm卷类型
Device Boot Start End Blocks Id System
/dev/hdb1 1 208 98248+ 8e Linux LVM
/dev/hdb2 209 416 98280 8e Linux LVM
/dev/hdb3 417 624 98280 8e Linux LVM
然后w保存并且
#partprobe /*使用磁盘分区生效*/
二、lvm创建过程
1.从硬盘驱动器分区中创建物理卷(physical volumes-PV)。
2.从物理卷中创建卷组(volume groups-VG)
3.从卷组中创建逻辑卷(logical volumes-LV),并分派逻辑卷挂载点,其中只有逻辑卷才可以写数据。
lvm的最大的特点就是可以动态的调整分区的大小,并且可以随着分区容量的增长而增加磁盘空间的容量。
LVM配置与创建
三、LVM的物理卷PV
1.相关命令
pvcreate 创建PV
pvscan 扫描PV
pvdisplay 显示PV
pvremove 删除PV
partprobe
2.创建物理卷
如果以上容量不够,可以再添加其它分区到物理卷中。
[root@redhat ~]# pvcreate /dev/hdb1 /dev/hdb2
Physical volume “/dev/hdb1″ successfully created
Physical volume “/dev/hdb2″ successfully created
[root@redhat ~]# pvscan
PV /dev/hdb1 lvm2 [95.95 MB]
PV /dev/hdb2 lvm2 [95.98 MB]
Total: 2 [191.92 MB] / in use: 0 [0 ] / in no VG: 2 [191.92 MB]
[root@redhat ~]# pvdisplay
— NEW Physical volume —
PV Name /dev/hdb1
VG Name
PV Size 95.95 MB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 2Ni0Tx-oeSy-zGUP-t7KG-Fh22-0BUi-iyPhhQ
— NEW Physical volume —
PV Name /dev/hdb2
VG Name
PV Size 95.98 MB
Allocatable NO
PE Size (KByte) 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID 2XLXfY-V3L2-Mtsl-79U4-ovuJ-YaQf-YV9qHs
四、创建LVM的卷组VG
1.相关命令
vgcreate 创建VG
vgscan 扫描VG
vgdispaly
vgextend
vgrece
vgchange
vgremove
2.创建逻辑卷VG
[root@redhat ~]# vgcreate vg0 /dev/hdb1 /dev/hdb2
Volume group “vg0″ successfully created
[root@redhat ~]# vgscan
Reading all physical volumes. This may take a while…
Found volume group “vg0″ using metadata type lvm2
[root@redhat ~]# vgdisplay
— Volume group —
VG Name vg0
System ID
Format lvm2
Metadata Areas 2
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 2
Act PV 2
VG Size 184.00 MB
PE Size 4.00 MB /*分配的块的大小默认为4M*/
Total PE 46
Alloc PE / Size 0 / 0
Free PE / Size 46 / 184.00 MB
VG UUID kL5CGk-5Odk-r3PK-9q0A-s94h-OHv4-BojBnH增加VG容量到1TB的方法:
vgcreate -s 16M vg0 /dev/hdb1 /dev/hdb2
3.删除与添加逻辑卷
[root@redhat ~]# vgrece vg0 /dev/hdb2
Removed “/dev/hdb2″ from volume group “vg0″
[root@redhat ~]# vgextend vg0 /dev/hdb2
Volume group “vg0″ successfully extended
五、创建LVM的逻辑卷LV
1.相关命令
lvcreate
lvscan
lvdisplay
lvextend
lvrece
lvremove
lvresize
2.创建逻辑卷LV
[root@redhat ~]# lvcreate -L 184M -n data vg0
Logical volume “data” created
[root@redhat ~]# lvscan
ACTIVE ‘/dev/vg0/data’ [184.00 MB] inherit
[root@redhat ~]# lvdisplay
— Logical volume —
LV Name /dev/vg0/data
VG Name vg0
LV UUID HNKO5d-yRre-qVnP-ZT8D-fXir-XTeM-r6WjDX
LV Write Access read/write
LV Status available
# open 0
LV Size 184.00 MB
Current LE 46
Segments 2
Allocation inherit
Read ahead sectors 0
Block device 253:0
六、挂载LVM的逻辑卷LV
lv的格式化:
mkfs.ext3 /dev/vg0/data
mdkir /mnt/lvm
mount /dev/vg0/data /mnt/lvm
[root@redhat ~]# ls /mnt/lvm
lost+found
[root@redhat ~]# df -T
文件系统 类型 1K-块 已用 可用 已用% 挂载点
/dev/hda3 ext3 7625092 2219460 5012040 31% /
/dev/hda1 ext3 101086 10006 85861 11% /boot
tmpfs tmpfs 150108 0 150108 0% /dev/shm
/dev/mapper/vg0-data
ext3 182469 5664 167385 4% /mnt/lvm
七、LVM的容量调整
LVM的容量调整可以在多个环节进行调整,比如:可以在物理卷上,VG上,以及LV上,都可以进行容量的扩展,这也是LVM它的一个优势所在。
1.添加物理卷
首先应卸载在使用过程中的LV,然后必须保证该磁盘的类型是lvm类型,才能添加进来。
[root@redhat ~]# umount /dev/vg0/data
[root@redhat ~]# pvcreate /dev/hdb3
Physical volume “/dev/hdb3″ successfully created
[root@redhat ~]# pvscan
PV /dev/hdb1 VG vg0 lvm2 [92.00 MB / 0 free]
PV /dev/hdb2 VG vg0 lvm2 [92.00 MB / 0 free]
PV /dev/hdb3 lvm2 [95.98 MB]
Total: 3 [279.98 MB] / in use: 2 [184.00 MB] / in no VG: 1 [95.98 MB]
2.添加VG的容量
把上面新添加的LVM磁盘加入到vg0卷组中。
[root@redhat ~]# vgextend vg0 /dev/hdb3
Volume group “vg0″ successfully extended
[root@redhat ~]# vgdisplay
— Volume group —
VG Name vg0
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 5
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 0
Max PV 0
Cur PV 3
Act PV 3
VG Size 276.00 MB
PE Size 4.00 MB
Total PE 69
Alloc PE / Size 46 / 184.00 MB
Free PE / Size 23 / 92.00 MB
VG UUID kL5CGk-5Odk-r3PK-9q0A-s94h-OHv4-BojBnH
3.添加入LV中VG增珈的容量
把新加入LVM磁盘的容量加入LV中。
[root@redhat ~]# lvextend -L +92M /dev/vg0/data
Extending logical volume data to 276.00 MB
Logical volume data successfully resized
[root@redhat ~]# lvscan
ACTIVE ‘/dev/vg0/data’ [276.00 MB] inherit
[root@redhat ~]# resize2fs -f /dev/vg0/data
resize2fs 1.39 (29-May-2006)
Resizing the filesystem on /dev/vg0/data to 282624 (1k) blocks.
The filesystem on /dev/vg0/data is now 282624 blocks long.
如果不做这一步的话,在实现挂载的时候,发现LV的容量没有真正的加入进LV卷中,因为相关信息写入到了磁盘超级块中。
4.挂载使用
[root@redhat ~]# mount /dev/vg0/data /mnt/lvm
[root@redhat ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/hda3 7625092 2219468 5012032 31% /
/dev/hda1 101086 10006 85861 11% /boot
tmpfs 150108 0 150108 0% /dev/shm
/dev/mapper/vg0-data 273569 6168 256097 3% /mnt/lvm
LVM的卸载
八、LVM的卸载方法
如果不想使用LVM的话,可以卸载它, 卸载的方法与分区的删除方法类似,就是最后创建的最先删除。顺序如下:
先删除LV
再删除VG
最后PV
以前的LVM的分区应用fdisk转换成其它类型的文件系统,当普通分区使用。
九、LVM的卸载过程
1.umount取消挂载
[root@redhat ~]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/hda3 7625092 2219468 5012032 31% /
/dev/hda1 101086 10006 85861 11% /boot
tmpfs 150108 0 150108 0% /dev/shm
/dev/mapper/vg0-data 273569 6168 256097 3% /mnt/lvm
[root@redhat ~]# umount /mnt/lvm
2.删除LV逻辑卷
[root@redhat ~]# lvremove /dev/vg0/data
Do you really want to remove active logical volume “data”? [y/n]: y
Logical volume “data” successfully removed
3.删除VG卷组
[root@redhat ~]# vgchange -a n vg0
0 logical volume(s) in volume group “vg0″ now active
说明:把vg0转换成休眠状态,实验中这一步可以不用。
[root@redhat ~]# vgremove vg0
Volume group “vg0″ successfully removed
4.删除PV
[root@redhat ~]# pvscan 查看pv的情况
PV /dev/hdb1 lvm2 [95.95 MB]
PV /dev/hdb2 lvm2 [95.98 MB]
PV /dev/hdb3 lvm2 [95.98 MB]
Total: 3 [287.90 MB] / in use: 0 [0 ] / in no VG: 3 [287.90 MB]
[root@redhat ~]# pvremove /dev/hdb1 /dev/hdb2 /dev/hdb3
Attempt to close device ‘/dev/cdrom’ which is not open.
Labels on physical volume “/dev/hdb1″ successfully wiped
Labels on physical volume “/dev/hdb2″ successfully wiped
Labels on physical volume “/dev/hdb3″ successfully wiped
5.最后就是用fdisk修改磁盘的类型了。