linux禁止程序写磁盘,Linux磁盘管理

面对一块硬盘,我们该如何使用它呢?本文从机械硬盘结构,分区,格式化,和挂载四个层次进行介绍。

一、机械硬盘结构

现在服务器使用机械式硬盘是主流,因为其造价低,容量大,和固态硬盘相比读写性能要差很多。机械硬盘主要由以下几个部件构成:转轴Spindle,盘片Platter,机械臂Boom,磁头Head。工作机制是马达带动盘片高速旋转,磁头对盘片进行擦写数据或读取其上存储的数据。

3c8ce6380daa33c267ccb0e2e66a02de.png

基于这种工作机制有如下几个存储术语

1.磁道Track:盘片上狭窄的同心圆环,最外侧为0磁道

2.扇区Sector:磁道上一小块弧段称为扇区,硬盘存储单位,大小为512字节

对每个扇区进行编号,称为逻辑块地址LBA

3.柱面Clinder:编号相同的磁道构成柱面

二、分区

了解硬盘结构后,接着讲一下分区。一块新硬盘使用,首先要进行分区操作,分区起到隔离的效果,方便管理。分区有两种方式:

MBR(Master Boot Record),传统分区方式

GPT(GUID Partition Table),较新分区方式

(1)MBR分区

使用32位表示扇区数,最大支持2T空间。在0磁道0扇区记录启动代码(前446字节)和分区表信息,如下图所示

3c8ce6380daa33c267ccb0e2e66a02de.png

由分区表可以看出MBR分区方式只能划分四个主分区,如果要划分四个以上分区,需要划分一个扩展分区,在扩展分区下继续划分逻辑分区。

分区工具fdisk

fdisk是一款交互式工具,可以用来创建和管理磁盘分区。

fdisk [-uc] device 进入分区工具界面

输入m查看帮助,常用指令有

n:新建分区

t:改变分区类型编号

d:删除分区

p:查看分区列表

q:不保存退出

w:保存并退出

注意:操作完成之后,要使用w退出,才会生效

3c8ce6380daa33c267ccb0e2e66a02de.png

如果退出报同步错误,则需要手动同步分区信息

增加分区同步

Centos6:partx -a device

Centos7:partprobe

删除分区同步

Centos6:partx -d device

Centos7:partprobe

可使用如下命令查看内核识别的分区情况

cat /proc/partitions

lsblk

fdisk -l [devices…]    查看分区情况

[root@centos6 ~]$ fdisk -l /dev/sda

Disk /dev/sda: 107.4 GB, 107374182400 bytes

255 heads, 63 sectors/track, 13054 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0005aba0

Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *           1          64      512000   83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2              64        2614    20480000   83  Linux

/dev/sda3            2614        3889    10240000   83  Linux

/dev/sda4            3889       13055    73624576    5  Extended

/dev/sda5            3889        4411     4194304   82  Linux swap / Solaris

/dev/sda6            4411        5716    10484362+  83  Linux

(2)GPT分区

使用64位表示扇区数,最大支持容量18EB,GPT明显优点在于可以划分128个分区。

0扇区称为MBR保护扇区,防止MBR磁盘管理软件误认为未分区硬盘,以防止分区表及硬盘数据遭到破坏。在尾部备份了分区表信息,保证分区信息不易丢失。

3c8ce6380daa33c267ccb0e2e66a02de.png

GPT方式分区工具:gdisk

用法与fdisk类似,也是交互式工具,不再详述。

三、格式化

对硬盘进行分区后,接着对分区进行格式化。格式化操作是在分区上创建文件系统,所谓文件系统,即一种存储和组织计算机数据的方法,文件系统使用文件和树形目录的抽象逻辑概念来替代硬盘物理设备使用数据块的概念,负责文件的存储并对存入的文件进行保护和检索。

Linux常用文件系统:

ext2,ext3,ext4

xfs(SGI)

btrfs(Oracle)还未正式商用,处于测试阶段

swap(交换分区)

vfat 对应windows的fat32文件系统

其中支持日志功能的文件系统有:

ext4,xfs,btrfs

命令部分:

注意,执行格式化操作会擦除分区上原有的数据

创建文件系统工具:mkfs.fs_type

mkfs.ext4 /dev/sda1    #简单地在sda1分区上创建ext4文件系统

ext文件系统创建专用工具:

mke2fs [options] device

options选项

-t    指定文件系统类型

-L    设定一个卷标

-b {1024|2048|4096}    指定块大小

-N    指定明创建inode数量

-i    指定多少字节创建一个inode,一般要大于block大小

-m    指定预留空间的百分比,默认是5%,此部分空间供管理员在分区存满数据时维护使用

-O [^]FEATURES    以指定特性创建文件系统,特性前加^表示关闭该特性

默认参数配置文件:/etc/mke2fs.conf

mke2fs -t ext4 -L mydata -b 2048 -N 20000 -m 1  /dev/sda7

#创建了一个 ext4文件系统,指定卷标mydata,块大小2048,20000个inode,预留空间1%

3c8ce6380daa33c267ccb0e2e66a02de.png

扩展内容

1.卷标查看与设定工具:

e2label device [newlabel]

2.修改ext文件系统某些属性工具

tune2fs  [options] device

[options]选项

-l    查看超级块内容

-L    修改卷标

-m    修改预留空间百分比

-O    文件系统属性启用或禁用,^表示禁用

-o    调整文件系统默认挂载选项,^表示禁用

-c    调整最大挂载次数。当挂载次数超过此数值时,进行文件系统检查

3.显示超级块信息和组信息工具

dumpe2fs  [options] device

4.文件系统检测与修复工具

常常用于非正常关机或死机之后

文件系统状态标识为dirty时使用

3c8ce6380daa33c267ccb0e2e66a02de.png

fsck.fs_type       #例如fsck.ext4

e2fsck             #ext系列文件系统检测工具

-y    自动回答yes

-f    强制检查,即使没有问题也进行检查

四、挂载

创建好一个文件系统之后,接着需要将该设备挂载到根下某一目录。即将一个文件系统关联到Linux上目录树结构上,该目录为此文件系统的入口。

命令部分:

mount [options] device dir

options介绍

–a    挂载所有有自动挂载选项的设备

-r    只读挂载

-n    禁止向/etc/mtab 同步mount操作

-L    指定卷标来挂载

-U    指定uuid的设备挂载

-o    挂载选项

挂载选项说明,有些选项在/etc/fstab 里指定才会生效

remount    重新挂载

loop    指定挂载回环类型设备

noatime    禁止atime更新

noexec    禁止程序执行

auto/noauto    是否可被-a选项自动挂载

user    可指定一个用户可挂载此设备

default    默认选项代表rw, suid, dev, exec, auto, nouser, async, and relatime

扩展内容

1.如果设备需要开机自动挂载,则需要写在/etc/fstab 文件中

文件格式:

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

–建议使用uuid指定设备,设备名容易变更

挂载点

文件系统类型

选项

转储频率

–0:不转储 1:每天转储 2:隔天转储

自检次序

–0:不自检 1:首先自检,一般是根目录 2:次序自检

3c8ce6380daa33c267ccb0e2e66a02de.png

2.卸载设备

umount device|dir

如果卸载某设备,显示挂载点正忙无法卸载,则采取如下办法

1)查看挂载点被哪些程序占用,然后杀掉

lsof  dir

fuser -v dir

2)终止所有正在访问挂载点的所有进程

fuser -km dir

五、交换分区swap创建

当内存空间不足时,内核会将内存中一些缓存数据存放到swap分区上。交换分区最好划分在磁盘外道,达到最高存储性能。

1、交换分区必须指定分区类型为swap

3c8ce6380daa33c267ccb0e2e66a02de.png

3c8ce6380daa33c267ccb0e2e66a02de.png

即在分区时,使用t改变分区类型编号

2、对指定的分区或者一个文件设定为交换空间

mkswap /dev/sda7

3c8ce6380daa33c267ccb0e2e66a02de.png

3、启用交换分区

swapon -s         #查看交换分区启用情况

3c8ce6380daa33c267ccb0e2e66a02de.png

swapon  /dev/sda7   #启用交换分区或者 swapon -a 启用所有交换分区

3c8ce6380daa33c267ccb0e2e66a02de.png

至此添加成功。

扩展内容

关闭交换分区

swapoff /dev/sda7

交换分区可指定优先级,创建不指定优先级则依次减少1,最开始为-1

命令指定优先级 swapon -p {0-32767} device|file

交换分区在/etc/fstab 文件中格式,优先级指定pri=

3c8ce6380daa33c267ccb0e2e66a02de.png

六、各种查看命令补充

lsblk [dev] #查看分区情况

3c8ce6380daa33c267ccb0e2e66a02de.png

blkid  [dev]  #打印块设备属性,可查看分区类型

3c8ce6380daa33c267ccb0e2e66a02de.png

findmnt    #查看所有已挂载设备

3c8ce6380daa33c267ccb0e2e66a02de.png

原创文章,作者:cutemsyu,如若转载,请注明出处:http://www.178linux.com/41405

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值