1. 硬盘类型 /dev/sda VS /dev/hda
/dev/sda
/dev/sda1
/dev/sda2
/dev/sda3
而又的安装时硬盘驱动设备名为
/dev/hda
/dev/hda1
HDA是使用了ide接口的硬盘的名称.SDA是sata接口的硬盘的名称.
硬盘接口分为:
-
ide (integrated drive electronics) 把盘体和控制器集成在一起
-
sata (serial ATA(advanced technology attachment))
-
scsi (small computer system interface)
-
光纤通道 fibre channel
其中hda、hdb分别代表第一个IDE、第二个IDE。假如你电脑上插有2个IDE硬盘,就会出现hda、hdb吗?不一定,因为貌似IDE硬盘默认有两个部分,Master和Slave,即主分区和扩展分区,而且a、b是根据IDE接口插槽顺序来分的。这样的话,第一IDE插槽主分区为hda,扩展分区为hdb,第二IDE插槽主分区为hdc,扩展分区为hdd。
但是SATA硬盘好像没有扩展分区,而且Linux识别SATA等类型装置的顺序不是按插槽顺序来的,是按照设备被侦测到的顺序来定的,比如SATA的第1、5插槽分别插有硬盘,电脑上还插有一个USB,那么启动Linux的时候,先后侦测到SATA的第1、5插槽的硬盘和USB设备,那么分配的名称就分别是sda,sdb,sdc。
2. 分区
计算机中存放信息的主要的存储设备就是硬盘,但是硬盘不能直接使用,必须对硬盘进行分割,分割成的一块一块的硬盘区域就是磁盘分区。在传统的磁盘管理中,将一个硬盘分为两大类分区:主分区和扩展分区。主分区是能够安装操作系统,能够进行计算机启动的分区,这样的分区可以直接格式化,然后安装系统,直接存放文件。
在一个MBR分区表类型的硬盘中最多只能存在4个主分区。如果一个硬盘上需要超过4个以上的磁盘分块的话,那么就需要使用扩展分区了。如果使用扩展分区,那么一个物理硬盘上最多只能3个主分区和1个扩展分区。扩展分区不能直接使用,它必须经过第二次分割成为一个一个的逻辑分区,然后才可以使用。一个扩展分区中的逻辑分区可以任意多个。
磁盘分区后,必须经过格式化才能够正式使用,格式化后常见的磁盘格式有:FAT(FAT16)、FAT32、NTFS、ext2、ext3,ext4等。
fdisk 命令
root@dev:/home/s1# fdisk -l
Disk /dev/sda: 250.1 GB, 250059350016 bytes //这个硬盘有250.1 GB的容量
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors //255个磁头;63个扇区每磁道,30401个磁柱
Units = sectors of 1 * 512 = 512 bytes //每个 cylinder(磁柱)的容量是512字节
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000d7bf1
存储容量=磁道(柱面)数×磁头数×每道扇区数×每扇区字节数 = 30401 * 255 * 63 * 512 = 25396387380 bytes
fdisk是交互式命令,其下有许多子命令,说明如下:
Command (m for help): m #交互式命令,提示键入“m”以获取帮助Command action #可以看到,fdisk有如下这么多的子命令
a toggle a bootable flag #设定可启动标记
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition #删除一个分区
l list known partition types #各分区类型所对应的Sy em ID
m print this menu
n add a new partition #新建一个分区
o create a new empty DOS partition table
p print the partition table #显示当前的分区信息
q quit without saving changes #不保存退出
s create a new empty Sun disklabel
t change a partition's system id #修改指定分区的System ID
u change display/entry units
v verify the partition table
w write table to disk and exit #保存退出
x extra functionality (experts only)
其中常用的类型为:
文件系统:
VFS:Virtual FileSystem
保证各种磁盘设备接口都可以使用
Linux:ext2, ext3,ext4, reiserfs, xfs, btrfs, swap
光盘:iso9660
Windows:fat32(vfat), ntfs
Unix:ffs, ufs, jfs, jfs2
网络文件系统:nfs,cifs
集群文件系统:ocfs2,gfs2
分布式文件系统:ceph,
moosefs,mogilefs, hdfs, gfs, glusterfs
(1)日志型文件系统
非日志型文件系统:ext2
日志型文件系统:ext3
(2)swap:交换分区
把硬盘当临时内存来使用
创建文件系统:
在分区上执行格式化(高级格式化)
要使用某种文件系统,满足两个条件:
内核中:支持此种文件系统
用户空间:有文件系统管理工具
创建工具:mkfs(make filesystem)
mkfs -t type DEVICE
mkfs.type DEVICE
mkfs [Tab][Tab] 查看mkfs支持的文件格式
mkfs.cramfs mkfs.ext3 mkfs.minix
mkfs.btrfs mkfs.ext2 mkfs.ext4 mkfs.xfs
ext系列文件系统的专用管理工具:
mke2fs -t {ext2|ext3|ext4} DEVICE
-b BLOCK: 1024, 2048, 4096 指定块大小;根据存储文件的大小决定块分配大小
-L 'LABEL': 设定卷标名称
-i #:给多大空间给一个inode
-N #:为此磁盘分区一共保留多少个inode
-m #:预留磁盘空间占据多大百分比的空间为后期管理使用
-c:检查磁盘错误,仅下达一次-c时,会进行快速读取测试
-j:相当于 mk2fs -t ext3; 本来mke2fs是ext2,加入journal成为ext3
-O feature[,…] 启用指定特性
has journal 启用日志功能
-O ^feature[,…] 关闭指定特性 /etc/mke2fs.conf 默认特性配置文件
blkid命令:定位并显示块设备属性 locate/print block device attributes
blkid DEVICE
查看 LABEL,UUID, TYPE
LVM几个基本概念
物理存储介质(PhysicalStorageMedia):指系统的物理存储设备:磁盘,如:/dev/hda、/dev/sda等,是存储系统最底层的存储单元。
物理卷(Physical Volume,PV):指磁盘分区或从逻辑上与磁盘分区具有同样功能的设备(如RAID),是LVM的基本存储逻辑块,但和基本的物理存储介质(如分区、磁盘等)比较,却包含有与LVM相关的管理参数。
物理块(Physical Extent,PE):每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的最小单元。PE的大小是可配置的,默认为4MB。所以物理卷(PV)由大小等同的基本单元PE组成。
卷组(Volume Group,VG):类似于非LVM系统中的物理磁盘,其由一个或多个物理卷PV组成。可以在卷组上创建一个或多个LV(逻辑卷)。
逻辑卷(Logical Volume,LV):类似于非LVM系统中的磁盘分区,逻辑卷建立在卷组VG之上。在逻辑卷LV之上可以建立文件系统(比如/home或者/usr等)。
逻辑块(Logical Extent,LE):逻辑卷LV也被划分为可被寻址的基本单位,称为LE。在同一个卷组中,LE的大小和PE是相同的,并且一一对应。
LVM抽象模型
操作:
要创建一个LVM系统,一般需要经过以下步骤:
1、创建分区
使用分区工具(如:fdisk等)创建LVM分区,方法和创建其他一般分区的方式是一样的,区别仅仅是LVM的分区类型为8e。
2、创建物理卷
创建物理卷的命令为pvcreate,利用该命令将希望添加到卷组的所有分区或者磁盘创建为物理卷。将整个磁盘创建为物理卷的命令为:
#pvcreate /dev/hdb
将单个分区创建为物理卷的命令为:
#pvcreate /dev/hda5
3、创建卷组
创建卷组的命令为vgcreate,将使用pvcreate建立的物理卷创建为一个完整的卷组:
#vgcreate web_document /dev/hda5 /dev/hdb
vgcreate命令第一个参数是指定该卷组的逻辑名:web_document。后面参数是指定希望添加到该卷组的所有分区和磁盘。vgcreate 在创建卷组web_document以外,还设置使用大小为4MB的PE(默认为4MB),这表示卷组上创建的所有逻辑卷都以4MB为增量单位来进行扩充 或缩减。由于内核原因,PE大小决定了逻辑卷的最大大小,4MB的PE决定了单个逻辑卷最大容量为256GB,若希望使用大于256G的逻辑卷则创建卷组 时指定更大的PE。PE大小范围为8KB到512MB,并且必须总是2的倍数(使用-s指定,具体请参考manvgcreate)。(centos 6.2系统已发现没有这种限制)
4、激活卷组
为了立即使用卷组而不是重新启动系统,可以使用vgchange来激活卷组:
#vgchange -ay web_document
5、添加新的物理卷到卷组中
当系统安装了新的磁盘并创建了新的物理卷,而要将其添加到已有卷组时,就需要使用vgextend命令:
#vgextend web_document /dev/hdc1
这里/dev/hdc1是新的物理卷。
6、从卷组中删除一个物理卷
要从一个卷组中删除一个物理卷,首先要确认要删除的物理卷没有被任何逻辑卷正在使用,就要使用pvdisplay命令察看一个该物理卷信息:
如果某个物理卷正在被逻辑卷所使用,就需要将该物理卷的数据备份到其他地方,然后再删除。删除物理卷的命令为vgreduce:
#vgreduce web_document /dev/hda1
7、创建逻辑卷
创建逻辑卷的命令为lvcreate:
#lvcreate -L1500 -n www1 web_document
该命令就在卷组web_document上创建名字为www1,大小为1500M的逻辑卷,并且设备入口为 /dev/web_document/www1(web_document为卷组名,www1为逻辑卷名)。如果希望创建一个使用全部卷组的逻辑卷,则需 要首先察看该卷组的PE数,然后在创建逻辑卷时指定:
#vgdisplay web_document | grep"TotalPE"
TotalPE45230
#lvcreate -l45230 web_document -n www1
8、创建文件系统
笔者推荐使用reiserfs文件系统,来替代ext2和ext3:
创建了文件系统以后,就可以加载并使用它:
#mkdir/data/wwwroot
#mount /dev/web_document/www1/data/wwwroot
如果希望系统启动时自动加载文件系统,则还需要在/etc/fstab中添加内容:
/dev/web_document/www1/data/wwwrootreiserfsdefaults12
9、删除一个逻辑卷
删除逻辑卷以前首先需要将其卸载,然后删除:
#umount /dev/web_document/www1
#lvremove /dev/web_document/www1
lvremove–doyoureallywanttoremove"/dev/web_document/www1"?[y/n]:y
lvremove–doingautomaticbackupofvolumegroup"web_document"
lvremove–logicalvolume"/dev/web_document/www1"successfullyremoved
10、扩展逻辑卷大小
LVM提供了方便调整逻辑卷大小的能力,扩展逻辑卷大小的命令是lvextend:
#lvextend -L12G /dev/web_document/www1
lvextend–extendinglogicalvolume"/dev/web_document/www1"to12GB
lvextend–doingautomaticbackupofvolumegroup"web_document"
lvextend–logicalvolume"/dev/web_document/www1"successfullyextended
上面的命令就实现将逻辑卷www1的大小扩招为12G。
#lvextend -L +1G /dev/web_document/www1
lvextend–extendinglogicalvolume"/dev/web_document/www1"to13GB
lvextend–doingautomaticbackupofvolumegroup"web_document"
lvextend–logicalvolume"/dev/web_document/www1"successfullyextended
上面的命令就实现将逻辑卷www1的大小增加1G。
增加了逻辑卷的容量以后,就需要修改文件系统大小以实现利用扩充的空间。笔者推荐使用reiserfs文件系统来替代ext2或者ext3。因此这里仅 仅讨论reiserfs的情况。Reiserfs文件工具提供了文件系统大小调整工具:resize_reiserfs。对于希望调整被加载的文件系统大 小:
#resize_reiserfs -f /dev/web_document/www1
一般建议最好将文件系统卸载,调整大小,然后再加载:
#umount /dev/web_document/www1
#resize_reiserfs /dev/web_document/www1
#mount-treiserfs /dev/web_document/www1/data/wwwroot
对于使用ext2或ext3文件系统的用户可以考虑使用工具
ext2resize。
11、减少逻辑卷大小
使用lvreduce即可实现对逻辑卷的容量,同样需要首先将文件系统卸载:
#umount /data/wwwroot
#resize_reiserfs -s -2G /dev/web_document/www1
#lvreduce -L -2G /dev/web_document/www1
#mount-treiserfs /dev/web_document/www1/data/wwwroot
原创文章,作者:zsyzgw,如若转载,请注明出处:http://www.178linux.com/41830