linux磁盘介绍及磁盘分区
Posted Red Tat
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux磁盘介绍及磁盘分区相关的知识,希望对你有一定的参考价值。
磁盘组成:
1.扇区是最小的物理存储单位,有512bytes和4k两种格式
2.将扇区组成一个圆的是磁柱
3.最小分区单位通常为扇区
4.磁盘分区表主要有两种格式,一种是限制较多的mbr分区,一种是gpt格式
5.mbr分区中,第一个扇区最重要,主要存放开机区的mbr和分区表
6.gpt分区表除了分区数量扩充较多之外,支持的磁盘容量超过2tb
磁盘的文件名:
/dev/sd[a-p][1-128]:实体磁盘的文件名
/dev/vd[a-d][1-128]:虚拟磁盘的文件名
/dev/md[1-128]:软件磁盘的文件名
文件系统:
只有将磁盘分区格式化之后,才能成为操作系统能够利用的文件系统格式
linux文件系统:权限和属性数据存放在inode中,实际数据存放在data block中,文件系统的整体信息放在superblock中
磁盘分区核心命令介绍
硬盘的分区由主分区,扩展分区和逻辑分区组成:
硬盘分区:
主分区 : 也叫引导分区 1 (最小数量) 4(最大数量)
扩展分区 :扩展分区是一个概念,实际在磁盘中是看不到的,也无法直接使用,需要将扩展分区切割成多个逻辑分区才可使用 0 (最小数量) 1(最大数量)
逻辑分区 在扩展分区上边,可以创建多个逻辑分区 0(最小数量) n(最大数量)
fdisk命令
fdisk
-l:显示系统的分区详细信息
一般创建好虚拟机就会有一个磁盘/dev/sda,我手动添加了一个新磁盘/dev/sdb
fdisk /dev/diveice(sda) 对磁盘进行分区
在输入行输入m即可查看帮助,这里列举一些重要的选项:
n:创建新分区
p:打印分区列表
l:列出系统已知的分区类型
w:保存分区表
d:删除分区
t:改变分区的ID
对磁盘进行分区:
操作如图,首先敲n进行分区,之后就会显示你的分区类型(主分区还是逻辑分区),一般情况下我们创建3个主分区和一个逻辑分区。之后会让你选择第一个扇区号,这里我们一般是直接敲enter键选择的是默认的,之后我们可以设置分区的大小(+num K,M,G)这里注意选择大小时一定要加上+号否则会出现问题。
在创建好之后我们用p查看一下分区如果没有问题一定要w进行保存。
磁盘在分区完成之后我们执行命令fdisk -l进行查看,如果没有显示出我们新建的分区,这时候我们就要对这块磁盘进行刷新,执行命令partx -a /dev/sdb 一般需要刷新5-6次就会出现。
文件系统管理工具命令
创建文件系统的工具
mkfs
mkfs.ext2,mkfs.ext3,mkfs.ext4,mkfs.xfs
刚刚建立的新分区需要先进行格式化才能使用
例如:
mkfs.ext4 /dev/sdb(num)num为新创建的分区。
注:逻辑分区不能格式化
检测及修复文件系统的工具
fsck
fsck.ext2,fsck.ext3
e2label:卷标的查看和设定
blkid:获取文件系统类型和UUID
创建swap(交换)分区
swap空间的作用:当系统物理内存不够用时,就需要物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到swap空间中,等到那些程序要运行时,再从swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行swap交换。
这里用命令free -m查看当前的交换分区
swap
创建分区 ID=82
mkswap 格式化swap类型
挂载 /etc/fstab
激活swap swapon -a
查看状态 swapon -s
停止 swapoff
首先我们挑选一块分区将其作为交换分区需要选项t,修改他的分区ID为:82
这里可以看到我们将/dev/sdb3分区改为swap分区
完成分区之后我们需要对swap分区进行初始化
mkswap /dev/sdb3
完成之后我们需要查看/dev/sdb3的UUID
我们需要将他的UUID号进行复制,将其写入/etc/fstab中格式如下:
之后我们执行swapon -a /dev/sdb3 激活swap
用命令swapon -s进行查看swap状态
最后我们正在用之前的命令free -m查看swap当前的交换分区
与没有加swap分区之前对比,我们发现我们已经swap比之前的内存大了1G左右。这里就说明我们的swap分区已经完成了。
分区挂载
挂载:在根文件系统上要访问其他文件系统(分区),都必须通过关联的方式到根文件系统中的某一个目录上,所谓的关联操作就是挂载
挂载点:关联到根文件系统中的某一个目录
1、挂载点需要事先存在
2、应该使用没被占用,或者非FHS中定义的重要目录,不被某些进程使用
media:临时挂载点
mnt:挂载点
3、挂载点中原有的文件会被隐藏
mount
mount -t 指定文件系统 -o 选项 设备名(分区) 挂载点
例如:mount -t iso9660 -o ro /dev/sr0 /media(挂载我们的光驱设备)
挂载中的选项
如果不指定时使用默认值defaults :rw, suid, dev, exec, auto, nouser, async, and rela-time.
rw:读写
ro:只读
dev:支持设备文件
nodev:不支持设备文件
exec:允许执行二进制文件
noexec
auto:开机自动挂载
moauto
user:
nouser:
users:
async:异步写入
sync:同步写入
usrquota:磁盘配额
acl:支持acl功能
remount:支持在线重新挂载
常见的挂载设备:
/dev/cdrom:光盘设备
/dev/sr0:光盘设备
/dev/sda:基本分区
/dev/vg01/lv01:逻辑卷
/dev/md0:软RAID设备
挂在时可以使用的设备名:
设备名/dev/sda1
卷标LABEL=test
UUID
mount命令:
mount: mount [-fnrsvw] [-t vfstype] [-o options] device dir
-r 只读挂载
-w 读写挂载
-n 禁止同步到/etc/mtab
-t 指明挂载的文件系统类型
-L label 以卷标的方式挂载设备
-U UUID 以UUID的方式挂载设备
查看当前系统所有已挂载的设备:
cat /etc/mtab
cat /proc/mounts
umount 设备或者挂载点不能正在被使用
umount 设备名
umount 挂载点
查看被哪个进程所占用:
lsof 挂载点
lsof命令
lsof: list open files
因为过于长,我们一般和more搭配使用
command 进程的名称
PID 进程标识符
USER 进程的所有者
FD 文件描述符
cwd 工作目录
txt:二进制文件
rtd 根目录
mem 内存隐射出来的文件
r read
w write
u 读写
TYPE:文件类型
REG 普通文件
DIR:目录
CHR
BLK
UNIX
IPV4
DEVICE 磁盘名称
SIZE:文件大小
NODE:索引节点
NAME:打开的文件的名称
-c string 显示进程string打开的文件
-p pid 显示进程号pid打开的文件
+d /path 显示目录下被进程开启的文件
+D /path 递归现实目录
-i 端口,协议 主机名 显示某一个端口被谁在使用
-u username 某个用户打开
-d 文件描述符
-i [46][protocol][@hostname|hostaddr][:service|port]
DF,DU命令
df 显示磁盘分区中的使用情况
-a 查看全部文件系统,单位默认KB
-h 使用-h选项以KB.MB.GB的单位显示
du 显示文件和目录在磁盘中占用的大小 -----文件大小
-a 显示目录中的文件大小 单位kb
-b 显示目录中文件大小
-k ,-m 以KB,MB为单位显示
-s 显示目录的总量
-h 以k M G为单位
挂载配置文件
/etc/fstab文件
里边一共有6列
第一列:磁盘设备文件或设备的LABLE或UUID(一般多使用UUID因为可以唯一标识)
第二列:设备的挂载点
第三列 磁盘文件系统格式 ext2-4 xfs btrfs iso9660 nfs
第四列 文件系统参数 默认用defaults
第五列 能否被dump命令备份
0 不备份
1 每天备份
2 不定期备份
第六列 是否校验扇区 系统开机时会使用fsck
0 不校验
1 最早校验
2 1校验完之后进行校验
mount -a 重新挂载/etc/fstab 并且校验
以上是关于linux磁盘介绍及磁盘分区的主要内容,如果未能解决你的问题,请参考以下文章