设为首页 收藏本站
查看: 885|回复: 0

[经验分享] vmware做Centos磁盘分区管理实验

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-28 09:27:42 | 显示全部楼层 |阅读模式
   在linux运维工作中,熟练掌握磁盘管理相关技能是对运维人员最基本的要求。最近在学习系统管理的内容,而磁盘分区是其中比较重要的一部分内容。本实验所用linux系统为Centos6.6,涉及到的知识为linux磁盘分区。
一、在实验前必须先要了解磁盘管理的基本知识:
1、MBR,Master Boot Record(主引导记录) wKiom1XepPPSlPV8AAHbG2Vwguw008.jpg

         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、常用的分区管理工具有: fdisk,parted, 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个主分区。
1
2
3
4
5
6
7
8
9
10
11
12
[iyunv@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     
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[iyunv@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



1
2
3
4
5
6
7
8
9
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(id为83),根据实际需要,若要创建为swap分区,则要调整分区id为82,即 Linux swap /So;若要创建Linux LVM 分区,则需调整分区id为8e。在这里按默认,不需要调整。
列出分区id列表:
1
2
3
4
5
6
7
8
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个主分区,不把剩余的全部的空间都占据,则没有被分配到的空间无法使用。因为逻辑分区只能在扩展分区的空间范围内。
1
2
3
4
5
6
7
8
9
10
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、建立逻辑分区
1
2
3
4
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、检查新建分区并保存退出
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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命令查看,新建的分区还没生效。命令结果如下:
1
2
3
4
5
6
[iyunv@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命令。
1
2
3
4
5
[iyunv@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里的分区表打印出来。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[iyunv@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#:为管理人员预留的空间占据的百分比

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[iyunv@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.

[iyunv@localhost ~]#mke2fs -t ext4 -b 2048 -L "Logical_Partition" /dev/sda5
结果省略...




可以用命令blkid查看块设备属性信息查看。用法如下:
blkid [OPTION]...[DEVICE]
-UUUID:根据指定的UUID来查找对应的设备
-LLABEL:根据指定的LABEL来查找对应的设备
命令结果如下:
1
2
3
4
[iyunv@localhost ~]#blkid /dev/sda3
/dev/sda3:LABEL="Primary_Partitio"UUID="4f0572f3-64a4-4b19-bc4c-eb5df4644741" TYPE="ext4"
[iyunv@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:为挂载目录,必须为已存在目录,且目录原有文件在挂载完成后会被临时隐藏,
      建议使用空目录
1
2
3
[iyunv@localhost ~]# mkdir /Prim_test /Logi_test  #新建两个目录当作挂载点
[iyunv@localhost ~]#mount /dev/sda3 /Prim_test/
[iyunv@localhost ~]#mount /dev/sda5 /Logi_test



1
2
3
4
5
6
[iyunv@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



1
2
3
4
[iyunv@localhost ~]# ls /Prim_test/      # 挂载目录出现lost+found表明挂载已经成功
lost+found
[iyunv@localhost ~]#ls /Logi_test/
lost+found



1
2
3
4
5
6
[iyunv@localhost ~]# cp /etc/fstab /Prim_test/  #  复制一个文件到挂载目录里,若能正常打开,则再次确认挂载成功
[iyunv@localhost ~]#cat /Prim_test/fstab
#
# /etc/fstab
# Created byanaconda on Tue Aug 25 18:43:53 20
(文档下面内容省略...)




10、配置分区开机自动挂载
编辑/etc/fstab配置文件,添加注释的两行内容
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[iyunv@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,等等。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-105342-1-1.html 上篇帖子: VMware Workstation 12.0.0 Pro安装及VM建立截图 下篇帖子: 使用vmware虚拟机安装virt-manager unable to connect to libvirt的处理办法
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表