磁盘分区及lvm管理

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)

其中常用的类型为:

82:Linux swap交换分区

83:Linux分区

8e:Linux逻辑卷

fd:Soft Raid

文件系统:

   VFSVirtual FileSystem 

        保证各种磁盘设备接口都可以使用

   Linuxext2, 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

(0)
zsyzgwzsyzgw
上一篇 2016-09-19
下一篇 2016-09-19

相关推荐

  • N26-第十周

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情)     看到同学的图不错拿来用用 ~ ~      2、为运行于虚拟机上的CentOS 6添加一块新硬件,提供两个主分区;  (1) 为硬盘新建两个主分区;并为其安装grub;  (2) 为硬盘的第一个主…

    2017-03-26
  • Nginx的简单配置和简单实验..

    yum install nginx #安装Nginx,安装包在epel源中 systemctl start nginx.service #启动服务 #实验:配置一个虚拟主机 #先给一个网页文件 ~]#mkdir /data/nginx/vhost1 -pv ~]#vim /data/nginx/vhost1/index.html <h1>Ngin…

    Linux干货 2017-06-19
  • N22第三周作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可 [root@localhost ~]# who |cut -d' ' -f1 |sort -u   root   xuc 2、取出…

    Linux干货 2016-08-29
  • python高阶函数与装饰器

    ##**高阶函数**– 函数是python中的一等公民– 函数也是对象,可调用对象– 函数可以作为普通变量、参数、返回值等等– 数学概念y = g(f(x))– 高阶函数满足以下至少一个条件:1.接收一个或多个函数作为参数 2.输出一个函数 ##**举例(计数器)**def counter(base…

    Linux干货 2017-10-23
  • Vim编辑工具用法的总结

    描述:    Vim是一款强大的命令行界面的文本编辑器,是vi的高级版本,先说下学习它的原因:  1,所有的UNIX Like 系统都会内置vi文本编辑器,其他的文本编辑器则不一定会存在;  2,很多软件的编辑接口都会主动调用vi  3,vim具有程序编辑的能力,可以主动以字体颜色辨别语法的正确性,方便程序设…

    Linux干货 2016-08-11
  • Week 1–Linux基础1

    一. 计算机是由什么组成的? 计算机有什么作用呢?  1.计算机是由硬件系统与软件系统两大部分组成的. 那么是什么呢?  硬件系统: 1.1 输入组件(如鼠标,键盘等); 输出组件(显示器,打印机等); 1.2 核心大脑–CPU(里面包含有 算术逻辑、控制、记忆等单元); 1.3 为了与以上2大重要部件连接的,肯定需要一个可以…

    Linux干货 2016-12-05