LINUX 磁盘管理: 主引导扇区位于硬盘的0磁道0柱面1扇区,共512bytes,由三大部分组成: 1.磁盘主引导记录MBR 占446bytes 2.分区表DPT(DISK PARTION TABLE) 占64bytes 一个分区占16bytes,最多四个主分区 3.磁盘有效标志 4.格式化就是创建文件系统
存储设备类型: IDE ATA hd SATA sd SCSI sd USB sd 使用a b c 来区分同一类型的不同设备 识别硬盘设备:/dev/sd 标记不同的硬盘设备:/dev/sd[a-z] 标记同一设备上的不同分区:/dev/sd[a-z][1-] 1-4: 主或扩展分区标识 5+:逻辑分区标识 “块”:block,随机设备 “字符”:character,线性设备 分区:分隔存储空间为多个小的空间,每个空间可独立使用文件系统; 分区工具:fdisk, parted, sfdisk fdisk工具的使用: 最多支持在一块硬盘上的15个分区; 分区管理子命令: p: 显示 n: 创建 d: 删除 t: 修改分区ID l: 列出所有支持ID类型 w: 保存退出 q: 放弃修改并退出 m: 获取帮助 [root@lys ~]# cat /proc/partitions //查看分区情况 major minor #blocks name 8 0 20971520 sda 8 1 102400 sda1 8 2 18432000 sda2 8 3 2048000 sda3 8 16 2097152 sdb 8 17 417658 sdb1 8 18 208845 sdb2 8 19 1 sdb3 8 21 112423 sdb5
有三个命令可以让内核重读磁盘分区表:
CentOS 5: partprobe [DEVICE]
CentOS 6,7:partx kpartx
partx命令:
partx DEVICE
partx -a DEVICE
partx -a -n M:N DEVICE
kpartx命令:
kpartx -af DEVICE
fdisk -l //查看系统磁盘分区
[root@localhost ~]# fdisk /dev/sda
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.
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition //删除
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types //列出所有支持的ID类型
m print this menu // 获取帮助
n add a new partition //创建
o create a new empty DOS partition table
p print the partition table //显示
q quit without saving changes //不保存退出
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit //保存退出
x extra functionality (experts only)
Command (m for help):
Linux文件系统管理
文件系统:
VFS:Virtual File System
Linux:ext2, ext3, ext4, reiserfs, xfs, btrfs, swap
光盘:iso9660
Windows: fat32(vfat), ntfs
Unix: ffs, ufs, jfs, jfs2
网络文件系统:nfs, cifs
集群文件系统:ocfs2, gfs2
分布式文件系统:ceph,
moosefs, mogilefs, hdfs, gfs, glusterfs
(1) 日志型文件系统
非日志型文件系统:ext2
日志型文件系统:ext3
(2) swap:交换分区
基本上linux最主要的文件系统为ext2,该文件系统内的信息有:
superblock :记录此文件系统的整体信息,包括inode/block的总量,使用量,剩余量,以及文件系统的格式等。
iNode :记录文件的属性,一个文件占用一个iNode,同时记录此文件的数据所在的block号码。
block :实际记录文件的内容,若文件过大会占用多个block。
Ext2文件系统的数据访问为索引式文件系统。
创建文件系统:
在分区上执行格式化(高级格式化)
要使用某种文件系统,满足两个条件:
内核中:支持此种文件系统
用户空间:有文件系统管理工具
mkfs -t ext4 /dev/sda7 //格式化磁盘
mkfs.ext4 /dev/sda7 //格式化磁盘
作业:创建一个10G的文件系统,类型为ext4,要求开机可自动挂载至/mydata目录
fdisk /dev/sda //使用fdisk命令进行磁盘分区
//n 选项是新建一个分区 ,p 代表新建一个主分区,+10G就是创建一个10G的磁盘空间
//p 列出当前磁盘分区
//w 保存当前磁盘分区
//mkfs -t ext4 对磁盘进行格式化
//mount 将/dev/sda2分区挂载到/mydata目录下
vi /etc/fstab //编辑此文件,如下所示,将/mydata目录开机挂载到/dev/sda2设备上。