码迷,mamicode.com
首页 > 系统相关 > 详细

vmware做Centos磁盘分区管理实验

时间:2015-08-27 19:13:30      阅读:461      评论:0      收藏:0      [点我收藏+]

标签:linux   文件系统   磁盘分区   mbr   

    在linux运维工作中,熟练掌握磁盘管理相关技能是对运维人员最基本的要求。最近在学习系统管理的内容,而磁盘分区是其中比较重要的一部分内容。本实验所用linux系统为Centos6.6,涉及到的知识为linux磁盘分区。

 

一、在实验前必须先要了解磁盘管理的基本知识

1MBRMaster Boot Record(主引导记录)技术分享


         MBR为磁盘第0磁道第0扇区,共512字节,从上图可以知道,Bootloader占据446字节,而Partition分区表占据了64字节,每个分区需要16字节,所以分区表只能标识4个分区的信息。那要想建立多余4个分区怎么办呢?办法就是3+1(N),即建立3个主分区(Primary )和一个扩展分区(extended),而扩展分区里划分了N个逻辑分区(logical),扩展分区本身并不可用,里面包含的逻辑分区才是可用的分区。

 

2磁盘设备文件的命名规则

IDE硬盘:/dev/hd

SCSI,SATA,SAS,USB等存储设备:/dev/sd#

不同设备:a-z          #例如/dev/sda, /dev/sdb, ...

同一设备上的不同分区:1,2, ...    #例如/dev/sda1, ... /dev/sda5…

 

3、文件系统类别

1) 各平台文件系统类别

      Linux文件系统:

    ext2,ext3, ext4, xfs, btrfs, reiserfs, jfs

    swap:交换分区

    光盘:iso9660

    Windows:fat32,ntfs

    网络文件系统:NFS,CIFS

    集群文件:GFS2,OCFS2

    分布式文件系统:ceph,moosefs,mogilefs,GlusterFS,Lustre

 

2根据其是否支持“journal”功能;

       日志型文件系统:ext3, ext4, xfs ...

      非日志型:ext2,vfat

 

3) linux文件系统的组成部分:

内核中的模块:ext4,xfs, vfat

用户空间的管理工具:mkfs.ext2,mkfs.ext4, mkfs.xfs,mkfs,vfat

 

4常用的分区管理工具有: fdiskparted, sfdisk。在这里使用的是fdisk工具进行分区。

       相关语法:fdisk[OPTION]DEVICE

OPTION

   -l:列出给定设备的分区表信息,如果后面不指定DEVICE

则列出从/proc/partitions 中获取到的信息。

  -b:设定扇区大小(1024,2048,4096...)

子命令:管理功能

p:print,显示已有分区

n:new,创建

d:delete,删除

w:write,写入磁盘并退出

q:退出

m:获取帮助

l:列表所有分区的类型id

t:调整分区id


二、实验

1在新建分区前,先用命令fdisk -l查看分区情况。磁盘在系统中命名为/dev/sda,假如再添加多一块磁盘,系统会显示新磁盘为/dev/sdb。由命令结果可看出系统中已存在2个主分区。

[root@localhost ~]#fdisk -l
 
Disk /dev/sda: 85.9GB, 85899345920 bytes
255 heads, 63sectors/track, 10443 cylinders
Units = cylinders of16065 * 512 = 8225280 bytes
Sector size(logical/physical): 512 bytes / 512 bytes
I/O size(minimum/optimal): 512 bytes / 512 bytes
Disk identifier:0x0002791b
 
   Device Boot      Start         End      Blocks  Id  System
/dev/sda1   *          1        1913    15360000  83  Linux
/dev/sda2            1913        1938      204800  82  Linux swap / Solaris


2、新建主分区。

命令:fdisk /dev/sda   /dev/sda进行交互式分区管理,管理命令功能如下:

p:print,显示已有分区

n:new,创建

d:delete,删除

w:write,写入磁盘并退出

q:退出

m:获取帮助

l:列表所有分区的类型id

    t:调整分区id    

[root@localhost ~]#fdisk /dev/sda
 
WARNING:DOS-compatible mode is deprecated. It‘s strongly recommended to
         switch off the mode (command ‘c‘) andchange display units to
         sectors (command ‘u‘).
 
Command (m forhelp): p  
 
Disk /dev/sda: 85.9GB, 85899345920 bytes
255 heads, 63sectors/track, 10443 cylinders
Units = cylinders of16065 * 512 = 8225280 bytes
Sector size(logical/physical): 512 bytes / 512 bytes
I/O size(minimum/optimal): 512 bytes / 512 bytes
Disk identifier:0x0002791b
 
   Device Boot      Start         End      Blocks  Id  System
/dev/sda1   *          1        1913    15360000  83  Linux
/dev/sda2            1913        1938      204800  82  Linux swap / Solaris
Command (m for help): n                # 新建一个分区
Command action
   e  extended
   p  primary partition (1-4)
p                # 建立主分区
Partition number (1-4): 3             # 指定建立的分区
First cylinder (1938-10443, default 1938):         # 不指定默认延续之前的柱面
Using default value1938
Last cylinder, +cylinders or +size{K,M,G} (1938-10443, default10443): +10G      # 创建10G大小的主分区


3、调整分区id(根据实际需要,这里仅介绍)

默认创建为Linux(id83),根据实际需要,若要创建为swap分区,则要调整分区id82,即 Linux swap /So;若要创建Linux LVM 分区,则需调整分区id8e。在这里按默认,不需要调整。

列出分区id列表:

Command(m for help): l
 
 0 Empty           24  NEC DOS         81 Minix / old Lin bf  Solaris        
 1 FAT12           39  Plan 9          82 Linux swap / So c1  DRDOS/sec(FAT-
 2  XENIXroot      3c  PartitionMagic  83 Linux           c4  DRDOS/sec (FAT-
 3  XENIXusr       40  Venix 80286     84 OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16<32M      41  PPC PReP Boot   85 Linux extended  c7  Syrinx        
(以下内容省略)…

调整分区:

使用Command  t ,并指定分区,具体步骤在这里不演示。


4、建立扩展分区

需要注意的是,建立扩展分区时,如果之前已经分配好了3个主分区,不把剩余的全部的空间都占据,则没有被分配到的空间无法使用。因为逻辑分区只能在扩展分区的空间范围内。

Command (m forhelp): n
Command action
   e  extended
   p  primary partition (1-4)
e             # 指定建立扩展分区
Selected partition 4
First cylinder(3244-10443, default 3244):
Using default value3244
Last cylinder, +cylinders or +size{K,M,G} (3244-10443, default10443):      #  回车指定使用默认全部空间
Usingdefault value 10443


5、建立逻辑分区

Command (m forhelp): n
First cylinder(3244-10443, default 3244):
Using default value3244
Last cylinder, +cylinders or +size{K,M,G} (3244-10443, default10443): +10G      # 新建10G大小的逻辑分区


6、检查新建分区并保存退出

Command (m for help): p      # 查看已有分区
 
Disk /dev/sda: 85.9GB, 85899345920 bytes
255 heads, 63sectors/track, 10443 cylinders
Units = cylinders of16065 * 512 = 8225280 bytes
Sector size(logical/physical): 512 bytes / 512 bytes
I/O size(minimum/optimal): 512 bytes / 512 bytes
Disk identifier:0x0002791b
 
   Device Boot      Start         End      Blocks  Id  System
/dev/sda1   *          1        1913    15360000  83  Linux
/dev/sda2            1913        1938      204800  82  Linux swap / Solaris
/dev/sda3            1938        3243   10483573+  83  Linux
/dev/sda4            3244       10443   57834000    5  Extended
/dev/sda5            3244        4549   10490413+  83  Linux
 
Command (m forhelp): w     # 切记,保存退出
The partition tablehas been altered!
 
Calling ioctl() tore-read partition table.
 
WARNING: Re-readingthe partition table failed with error 16: Device or resource busy.
The kernel stilluses the old table. The new table will be used at
the next reboot orafter you run partprobe(8) or kpartx(8)
Syncing disks.


7、使新增分区生效

     在上面交互式管理磁盘操作中,只是新建好分区,而内核不会主动去识别更改后的分区。用cat /proc/partitions命令查看,新建的分区还没生效。命令结果如下:

[root@localhost ~]#cat /proc/partitions
major minor  #blocks name
 
   8       0   83886080 sda
   8       1   15360000 sda1
   8       2     204800 sda2


于是就要到partx命令,partx命令的用途是把现有的并编号的磁盘分区列表通知内核。在Centos 5.X中,用的是partprobe命令。

[root@localhost ~]#partx -a /dev/sda
BLKPG: Device orresource busy
error addingpartition 1
BLKPG: Device orresource busy
error addingpartition 2


再用fdisk -l命令查看,由下结果可以看到,系统已经识别了新增的分区。fdisk -l 命令结果是把/proc/partitions里的分区表打印出来。

[root@localhost ~]#fdisk -l
 
Disk /dev/sda: 85.9GB, 85899345920 bytes
255 heads, 63sectors/track, 10443 cylinders
Units = cylinders of16065 * 512 = 8225280 bytes
Sector size(logical/physical): 512 bytes / 512 bytes
I/O size(minimum/optimal): 512 bytes / 512 bytes
Disk identifier:0x0002791b
 
   Device Boot      Start         End      Blocks  Id  System
/dev/sda1   *          1        1913    15360000  83  Linux
/dev/sda2            1913        1938      204800  82  Linux swap / Solaris
/dev/sda3            1938        3243   10483573+  83  Linux
/dev/sda4            3244       10443   57834000    5  Extended
/dev/sda5            3244        4549   10490413+  83  Linux

  

8、格式化分区并指定分区文件系统

   在这里使用ext系列文件系统专用管理工具mke2fs进行格式化并指定文件系统类型。命令用法如下:

      mke2fs [OPTION]…  device

命令常用选项

-t{ext2|ext3|ext4}

-b{1024|2048|4096} :块大小

-L‘LABEL‘

-j:相当于-t ext3

-i#:数据空间中每多少个字节创建一个inode,此大小不应该小于block大小

-N#:为数据空间创建多少个inode

-m#:为管理人员预留的空间占据的百分比

 

[root@localhost ~]#mke2fs -t ext4 -b 2048 -L "Primary_Partition" /dev/sda3  
mke2fs 1.41.12(17-May-2010)
Filesystemlabel=Primary_Partitio
OS type: Linux
Block size=2048(log=1)
Fragment size=2048(log=1)
Stride=0 blocks,Stripe width=0 blocks
655360 inodes,5241786 blocks
262089 blocks(5.00%) reserved for the super user
First data block=0
Maximum filesystemblocks=542113792
320 block groups
16384 blocks pergroup, 16384 fragments per group
2048 inodes pergroup
Superblock backupsstored on blocks:
        16384, 49152, 81920, 114688, 147456,409600, 442368, 802816, 1327104,
        2048000, 3981312
 
Writing inodetables: done                            
Creating journal(32768 blocks): done
Writing superblocksand filesystem accounting information: done
 
This filesystem willbe automatically checked every 37 mounts or
180 days, whichevercomes first.  Use tune2fs -c or -i tooverride.
 
[root@localhost ~]#mke2fs -t ext4 -b 2048 -L "Logical_Partition" /dev/sda5
结果省略...


可以用命令blkid查看块设备属性信息查看。用法如下:

blkid [OPTION]...[DEVICE]

-UUUID:根据指定的UUID来查找对应的设备

-LLABEL:根据指定的LABEL来查找对应的设备

命令结果如下:

[root@localhost ~]#blkid /dev/sda3
/dev/sda3:LABEL="Primary_Partitio"UUID="4f0572f3-64a4-4b19-bc4c-eb5df4644741" TYPE="ext4"
[root@localhost ~]#blkid /dev/sda5
/dev/sda5:LABEL="Logical_Partitio"UUID="208ef72f-706e-4888-9655-32a91ecb18a2" TYPE="ext4"


9、挂载分区

mount基本用法为:mount [OPTION] DEVICE  DIR

DEVICE:指明要挂载的设备,可以使设备文件,可以用卷标 -L ‘LABEL‘UUID -U ‘UUID‘

        或者伪文件系统名称。

DIR:为挂载目录,必须为已存在目录,且目录原有文件在挂载完成后会被临时隐藏,

      建议使用空目录

[root@localhost ~]# mkdir /Prim_test /Logi_test  #新建两个目录当作挂载点
[root@localhost ~]#mount /dev/sda3 /Prim_test/
[root@localhost ~]#mount /dev/sda5 /Logi_test
[root@localhost ~]# df -l     # 查看挂载项
Filesystem     1K-blocks  Used Available Use% Mounted on
/dev/sda1       14987656 667824  13551832  5% /
tmpfs             502176      0   502176   0% /dev/shm
/dev/sda3       10252772 12308   9716286   1% /Prim_test
/dev/sda5       10259072 12308   9722244   1% /Logi_test
[root@localhost ~]# ls /Prim_test/      # 挂载目录出现lost+found表明挂载已经成功
lost+found
[root@localhost ~]#ls /Logi_test/
lost+found
[root@localhost ~]# cp /etc/fstab /Prim_test/  #  复制一个文件到挂载目录里,若能正常打开,则再次确认挂载成功
[root@localhost ~]#cat /Prim_test/fstab
#
# /etc/fstab
# Created byanaconda on Tue Aug 25 18:43:53 20
(文档下面内容省略...)


10、配置分区开机自动挂载

编辑/etc/fstab配置文件,添加注释的两行内容

[root@localhost ~]#vim /etc/fstab
#
# /etc/fstab
# Created byanaconda on Tue Aug 25 18:43:53 2015
#
# Accessiblefilesystems, by reference, are maintained under ‘/dev/disk‘
# See man pagesfstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=915ff827-bd8e-4b9c-b804-a8bb73441c7a/                     ext4    defaults       1 1
UUID=278e1b2d-05e7-4c58-bd9e-99740bdee416swap                  swap    defaults       0 0
UUID=4f0572f3-64a4-4b19-bc4c-eb5df4644741 /Prim_test           ext4    defaults       0 0       #挂载/dev/sda3
UUID=208ef72f-706e-4888-9655-32a91ecb18a2 /Logi_test           ext4    defaults       0 0       #挂载/dev/sda5
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

关于/etc/fstab配置文件各字段的解释如下:

    1、需要挂载的设备或伪文件系统

            可以为设备文件名称、LABEL(LABEL="")、UUID(UUID="")、伪文件系统名称

            (proc,sysfs),建议用UUID,可以唯一标识设备,UUID不容易混乱冲突。

    2、挂载点

    为事先存在的目录

    3、文件系统类型

    4、转储频率:

            0:不做备份;1:每天转储;2:每隔一天转储。

    5、自检次序

            0:不自检;1:首先自检;一般只有rootfs才用1。

 

三、一些扩展管理命令

tune2fs:重新设定ext系统文件系统可调整参数的值

tune2fs [OPTION]... DEVICE

常用选项:

-l:查看指定文件系统超级块信息,superblock

-L"LABEL":修改卷标

-m#: 预留给管理员的空间百分比

-j:将ext2升级为ext3

-O:文件系统属性启用或禁用

-o:调整文件系统的默认挂载选项

-UUUID:修改UUID号

dumpe2fs显示设备文件系统的超级块和块组信息

dumpe2fs [OPTION]…  DEVICE

-h:只查看超级信息,不显示块组信息

        不加选项显示超级快和块组信息

mkswap:创建交换分区

fsck检查和修复文件系统

    用法如下:

fsck.FS_TYPE device

fsck [OPTION]   device

-t:指定文件系统类型

-a:自动修复错误

-r:交互式修复错误

        注意:若指定FS_TYPE,则一定要与分区上已经存在文件类型相同

 

总结:磁盘分区可以用fdisk工具进行分区,和指定分区ID(根据实际需要),切记w保存后退 出。用partx命令通知内核重新识别读取更改后的分区,再用mke2fs命令进行格式化和设定文件系统类型,并设置一些参数,如块大小,卷标,给管理员保留空间所占块数百分比等等。mount挂载分区,测试是否挂载正常。若要开机挂载则在/etc/fstab配置文件中添加相关项。

除了磁盘分区用到的一些命令外,还有一些常用的磁盘管理命令,如查看块设备信息blkid,重新设定ext文件系统参数tune2fs, 显示文件系统超级快和块组信息dumpe2fs, 文件系统和检查命令fsck,等等。

 

本文出自 “学习天地” 博客,请务必保留此出处http://letitbe1028.blog.51cto.com/7901525/1688854

vmware做Centos磁盘分区管理实验

标签:linux   文件系统   磁盘分区   mbr   

原文地址:http://letitbe1028.blog.51cto.com/7901525/1688854

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!