CentOS磁盘管理(一)

在日常的服务器管理维护过程中,每天都要和磁盘进行亲密接触。那几天就来谈一谈CentOS下的磁盘管理机制。

20年前,一个60MB的磁盘大概需要花费$1000,而现如今,一块1TB的硬盘则大概需要$80。由此可见,磁盘这种东西已经很亲民了。但是作为计算机中不可或缺的一部分,磁盘扮演着很重要的角色。现在市面上常见的硬盘分为两种,机械盘和固态盘。

对于这两种盘想必大家都有着比我更加深入的了解。当然,固态盘对于我这种学生党来说也算是奢侈品了。今天主要来看看传统的机械盘。

以当前市面上最流行的SATA盘来说吧。

linux会自动识别block设备,并且自动在/dev目录下创建一个设备文件,以供内核能够访问到该设备。通常SATA的命名规则是/dev/sda、/dve/sdb等(发现的第一块设备就是/dev/sda,第二块就是/dev/sdb....)。使用fidsk -l 或者parted -l 可以列出当前系统上已经识别的block设备的个数(包括usb设备)。

接着来看看磁盘的底层管理

格式化和坏块管理:

安全格式化:要是确定一块数据盘要格式化,而且不打算恢复可以使用dd命令来进行格式化:

假设我有一块4GB的磁盘需要进行彻底的格式化:
#dd if=/dev/zero of=/dev/your_device bs=1M count=4096
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB) copied, 6.1207 s, 702 MB/s <硬盘写速度参照>

这个命令同样也可以测试硬盘的读写速度<上面的操作可以当做写速度的参照>

读速度测试:
#dd if=/dev/your_device of=/dev/null bs=1M count=4096
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB) copied, 4.59378 s, 935 MB/s <这个可以作为读速度的参照>

用SMART监视磁盘(self-monitoring,analysis,and reporting technology)

在RED-HAT系列系统上都预装了此应用程序,通常由smartd守护进程和smartctl管理工具两部分。而/etc/smartd.conf定义了其后台进程的工作方式。

分区和格式化:

通常一个刚买的硬盘需要自己手动格式化分区,那么在CentOS命令行中该如何操作呢。

首先来看看有关分区的基础知识:

在许多允许有分区的系统上,通常会在磁盘的起始的第一个磁盘块上有一个“记录”,这个记录标明了分区的范围。通常这个磁盘快被叫做MBR(Master Boot Record)主引导记录。但是这个“主引导记录”占据的磁盘块只有512字节,而前446个字节被一个叫(BootLoader)的家伙占据了,只有66字节,最后两个字节还要用来标识BootLoader是否生效,所以留给磁盘分区的就只有64字节了。而一个分区表要占16字节,所以这64字节最多只能分4张分区表,因此最多只能有四个主分区。那我就是想分五个区呢?就很难受了啊。所以,人们就提出了拓展分区的概念,将一个主分区表作为拓展分区,而这个拓展分区上只存放一些列的分区指针,那么分区就可以不受4的限制了。

 

可以看到,当我们使用扩展分区时,已经突破了4个分区的限制,在CentOS中拓展分区不能直接使用,必须要在拓展分区上再创建逻辑分区,才能够使用,而且,拓展分区是要占用一个编号的(即图中的/dev/sda4)所以在分区时应该格外注意。

好了,来创建一个分区吧:

#fdisk /dev/sda   使用fdisk命令 指明要给那一块磁盘创建分区Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x051a34dd.

Command (m for help): n            创建一个新分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p      指明这个分区为主分区
Partition number (1-4, default 1):   指定分区编号,默认为1
First sector (2048-16777215, default 2048): 指定开始的扇区,使用默认即可
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-16777215, default 16777215): +4G 创建分区的大小
Partition 1 of type Linux and of size 4 GiB is set



Command (m for help): w 保存退出

创建好分区之后,还要创建对应的文件系统:

[root@localhost ~]# mkfs -t ext4 -j /dev/sdb1  创建ext4文件系统
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
262144 inodes, 1048576 blocks
52428 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done 

 

最后挂载就可以使用了:

#mount /dev/sdb1 /mnt/test_file_system/
进入test_file_system中创建文件试试吧
#cd /mnt/test_file_system
#touch test.sh 
#ls -l 
total 76
-rw-------. 1 root root  1422 Sep 11 10:08 anaconda-ks.cfg
-rw-r--r--. 1 root root 71826 Sep 13 08:39 smartd.conf
-rw-r--r--. 1 root root     0 Sep 13 09:30 test.sh

到此一个主分区就创建完成了。创建逻辑分区的方法与之类似,但是一定要注意fdisk最多只能识别15个分区,要是分区大于15个,fdisk命令就不好用了。针对于此,有一个很好用的命令parted/gparted(这两货其实是一个工具,只不过一个是命令行工具,一个是xWindow桌面工具) 。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值