您的位置:首页 > 运维架构 > Linux

linux磁盘管理の进阶篇一

2013-07-23 08:09 141 查看
文件系统管理之磁盘分区
创建分区相关命令:命令格式:fdisk +设备类型 最多只能创建15个分区
#fdisk -l ------//可列出所有磁盘的相关分区信息
#fdisk -l /dev/sda----//查看sda磁盘的相关分区信息


图1
Linux:
Sda[1-4]
S(接口类型)da1:第一个主分区
Sda2:第二个主分区
Sda3:第三个主分区
Sda4:第四个主分区
Sda5:第一个逻辑分区,扩展分区一定是从5开始的,5是逻辑分区开始的标志。命令格式:fdisk -l /dev/[sh]d[0-9]

图2
d   delete a partition――――――//删除一个分区
n   add a new partition―――――//新建一个分区
p   print the partition table――――//显示当前分区信息
w   write table to disk and exit――――//保存退出
q   quit without saving changes――――//不保存退出
System ID――――说明这是一个什么样的分区类型,与操作系统相关连。打算把分区――格式化成什么样的文件系统,就一定要让它的分区ID号跟文件系统类型相匹配。l list known partition types――各分区类型多对应的system ID――――也就是文件系统类型。83 ―――― Linux82 ―――― Linux swap / So8e ―――― Linux LVM 逻辑卷85 ―――― Linux extendedfd ―――― Linux raid auto软RAID Software Raid
t   change a partition's system id//修改某指定分区的system ID
a   toggle a bootable flag//设置可启动标记(设定此分区可以启动操作系统的分
区)――――――一般很少用到,了解即可。


图3确认无误保存退出

图4再创建两个6G的分区:

图5如图所示:主分区编号只有一个了,要再创建任意两个分区就只能,先建立扩展分区,在扩展分区里面新建逻辑分区。所以接下来一定是先创建扩展分区
5一定是4下的5,所有的逻辑分区一定是在扩展分区之下创建的,这点很重要哦!这里的开始以及结束柱面可使用默认的,一定要把剩下的空间一并给扩展分区,因为,如果不给扩展分区的话就永远也用不上了。这点对新手尤为重要哦,呵呵!

图6

图7如果中间写错了,想删除的话可按住ctrl键,再按tab即可轻松删除出错的命令了!扩展分区是不能直接使用的,因此,必须要再new一块硬盘只能有一个扩展分区哦!这点请大家一定要记得哦!

图8再新增6G逻辑分区

图9以上这两个分区整个都是在扩展分区内部创建的哦!看清楚了吗?所以说,逻辑分区一定是在扩展分区内部创建的!如果某个分区不想要了,可以使用dl来删除,在本案例中,可以直接删除4号分区吗?

图10貌似,5、6号分区也都随着扩展分区的删除消失了!所以,此操作一定要谨慎哦!此时唯一的解救办法就是q-------不保存退出就可以了哦,呵呵~因为我们的内核还没有做真正的分区格式化,也就是说在你没w之前的所有操作都是视为无效的哦!!!所以,有时候一念之间就是这样的啦!!!!!

图11分区创建好了以后就可以使用fdisk -l 来查看系统中所有的分区信息了

图12fdisk能识别出来这么多分区,内核能识别吗?因为与硬件打交道的是内核啊 !!!!如果内核识别不了的话说明是没有这个硬件设备的哦! 查看内核识别的分区信息:
#cat /proc/partitons



图13软件能识别,内核竟然不能识别啊?该怎么办呢?任何程序修改硬件必须要通过内核,必须要同步给正在运行的内核,让内核识别才行啊!问题是该怎样同步呢?注:RHEL5.0和RHEL6.0同步的相关命令也是不一样的。 查看试验测试机版本相关信息:
#cat  /etc/issue
#lsb_release -a
#cat /proc/version
#uname -a


图13-1 RHEL5 让 内核重新读取硬盘分区表:partprobe [Device]――重新探测可指派探测某个指定的设备,不指定的话默认是探测所有的

图14读取失败,重启之前是无效的。



没有被读取到
RHEl6使用另外一个命令RHEL6让内核重新读取硬盘分区表:
partx -a [partition]  device
#man partx
-a     add  specified  partitions or read disk and add all
partitions.读取所有的
-l     list partitions. Note that the all numbers  are  in
512-byte sectors.
#cat /proc/partitions 查看内核识别分区表情况
---只有此命令显示的有各个分区信息,内核才会分区格式化,否则都是无效分区哦!千万记得哦!!!
图18

手动一个一个添加似乎能被加上,但是仍然会报错!不知道是不是内核方面的问题。OK,内核都识别了!

图19OK,分区都已经创建好了,那么,如何实现,往分区里面存放文件,如何使用这个分区呢?接下来我们还需要进行哪些操作呢? 格式化分区,用于创建文件系统
没有文件系统就没有办法在里面创建文件呢!为什么呢?因为它是裸设备啊!呵呵1Linux 创建分区命令:
两步实现:指定分区类型、指定分区对象注:扩展分区是不能格式化的,一定记得哦! 将/dev/sda3格式化分区类型为ext4

图20显示/dev/sda3分区的相关属性信息

图21UUID―――表示全局唯一号,是一列随机字符串将来硬盘数量很多的情况下,可以使用UUID来进行管理硬盘分区,所以每一个分区都给创建了一个全局唯一标识符blkid:显示设备的UUID以及文件系统类型
注:扩展分区不能格式化
#mkfs -t ext4 /dev/sda3=mke2fa -t ext4 /dev/sda3
#mkfs -t ext3=mkfs.ext3=mk2efs -j=mke2fs -t ext3
#mkfs -t ext4=mkfs.ext4
#mkfs -t ext2=mkfs.ext2=mke2fs
#mke2fs -t {ext2|ext3|ext4}
#blid /dev/sda3  blkid device显示设备的UUID及文件系统类型。
Uuid用来标识全局唯一ID号,是一连串随机数字,一台超级计算机上有成千上万个挂载分区,怎样去识别这上万个分区呢?使用sda、sdb很可能会冲突的。所以每一个分区都创建了一个全局唯一随机标识ID。重复的可能性极小,类似哈雷彗星撞地球,呵呵。硬盘无论放到哪个主机上,重复的可能性几乎不存在。#man mkfs-t fstype#mke2fs -t ext4 /dev/sda3mke2fs - create an ext2/ext3/ext4 filesystemmke2fs -b {1024字节、2048字节、4096字节默认}

图22配置文件:vim /etc/mke2fs.conf用于设定默认特性及各文件系统的特有默认特性
#mke2fs -t ext4 -b 2048 /dev/sda3
――――――b指定块大小,默认为1kb,2kb.3kb块大小指的是什么呢?块大小取决于CPU对内存叶大小的支持,一般来说,X86默认页框是4K;默认是4096查看磁盘分区相关属性信息
#tune2fs - l devcie |grep “Block size”
#tune2fs  -l /dev/sda3    Block size:  4096
# tune2fs -l /dev/sda3  | grep "Block size"


图23注:a)一个block只能属于一个文件 b)块太大的话会导致磁盘空间的浪费 c)块大小的划分取决于将来要存储的文件 d)要更改块大小只能格式化磁盘分区-L――〉 new-volume-label设定卷标 Set the volume label for the filesystem to new-vol- ume-label. The maximum length of the volume label is 16 bytes.
#mke2fs -t ext3 -b 1024 -L mytest1/dev/sda3
注:块越小格式化的时间越长

要显示块大小
#Tune2fs -l device | grep “Block size”



图24-L 指定卷标,设定卷标使用卷标或者使用UUID是我们避免交叉引用的好方法之一!卷标有可能也会重复,干脆使用UUID吧!
#mke2fs -b 1024 -L mytest1 /dev/sda3
注:块越小所格式化的时间就越长!

图25
#blkid /dev/sda3 还可以显示LABEL信息


图26一块硬盘被填满了的话会发生什么情况?# tune2fs -l /dev/sda3 | grep "Reserved" 查看磁盘默认预留空间

图27
# echo $[577085/ 11541700]
[root@localhost ~]# bc577085/ 115417000scale=2设定精度577085/ 11541700*/.05=5%保留的是整个磁盘空间的5%。 200G预留了5%就是10G[ -m reserved-blocks-percentage ]预留给管理使用的块所占据总体块的比例。
# mke2fs -t ext4  -b 2048 -m 3 -L mytest1 /dev/sda3
# tune2fs -l /dev/sda3 |grep "Reserverd"


图28

图29

图30随着块大小的改变,预留空间较之前有较大的变化。mke2fs和tune2fs区别相当于useradd 和usermod,慢慢体会下是不是这样的?修改分区相关属性重新设定卷标:-L
#blkid /dev/sda3
#tune2fs -L test2 /dev/sda3
#blkid /dev/sda3


图31调整块大小:-m
#tune2fs -m 5 /dev/sda3
#tune2fs -l /dev/sda3 |grep “Reserved”


图32
#tune2fs -m1 /dev/sda3
#tune2fs -l /dev/sda3 |grep “Reserved”


图33
-o:设定默认挂载选项
-O:设定文件系统默认特性
-r调整预留给管理使用的块个数
-E设定文件系统的扩展属性
-l显示文件系统超级块信息
e2label 显示设定卷标
#e2label /dev/sda3
#e2label /dev/sda3 test3
#e2label /devsda3


整理的比较匆忙,等放假了再重新排版整理吧!请各位多多提出宝贵意见和建议!本文出自 “Linux运维” 博客,转载请与作者联系!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: