Linux磁盘管理
硬盘:
机械硬盘
SSD固态硬盘
track
sector: 512bytes
cylinder: 分区的基本单位;
MBR:Master Boot Record
512bytes 446: bootloader 64: filesystem allocation table 16: 标识一个分区 2:55AA
磁盘接口类型:
IDE (ATA):133MB/s,/dev/hd
SCSI: 640MB/s
SATA:6Gbps
SAS:6Gbps
USB:480MB/s
识别硬盘设备:/dev/sd
标记不同的硬盘设备:/dev/sd[a-z]
标记同一设备上的不同分区:/dev/sd[a-z][1-]
1-4: 主或扩展分区标识
5+:逻辑分区标识
设备文件:特殊文件
设备号:major, minor
major: 设备类型
minor: 同一类型下的不同设备
"块":block,随机设备
"字符":character,线性设备
分区:分隔存储空间为多个小的空间,每个空间可独立使用文件系统;
分区工具:fdisk, parted, sfdisk
fdisk工具的使用:最多支持在一块硬盘上的15个分区;
分区管理子命令:
p: 显示
n: 创建
d: 删除
t: 修改分区ID
l: 列出所有支持ID类型
w: 保存退出
q: 放弃修改并退出
m: 获取帮助
创建完成之后,查看内核是否已经识别新的分区:
# cat /proc/partitions
有三个命令可以让内核重读磁盘分区表:
CentOS 5: partprobe [DEVICE]
CentOS 6或7: partx,kpartx
partx命令:
partx DEVICE
partx -a DEVICE
partx -a -n M:N DEVICE
M
M:
:N
kpartx命令:
kpartx -af DEVICE
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:交换分区
创建文件系统:
在分区上执行格式化(高级格式化)
要使用某种文件系统,满足两个条件:
内核中:支持此种文件系统
用户空间:有文件系统管理工具
创建工具:mkfs (make filesystem)
mkfs用法:
mkfs -t type DEVICE
mkfs.type DEVICE
ext系列文件系统的专用管理工具:
mke2fs -t {ext2|ext3|ext4} DEVICE
-b BLOCK: 1024, 2048, 4096
-L 'LABEL': 设定卷标
blkid命令:
blkid DEVICE
LABEL, UUID, TYPE
作业:
1.让普通用户能使用/tmp/cat去查看/etc/shadow文件;
[root@Feet ~]# cp /usr/bin/cat /tmp/
[root@Feet ~]# cd /tmp/
[root@Feet tmp]# chmod u+s cat
[root@Feet tmp]# su tgy
[tgy@Feet tmp]$ /tmp/cat /etc/shadow
2. 创建目录/test/data,让某组内普通用户对其有写权限,且创建的所有文件的属组为目录所属的组;此外,每个用户仅能删除自己的文件;
[root@Feet /]# mkdir -p /test/data
[root@Feet /]# chmod g+w /test/data/
[root@Feet /]# chmod g+s /test/data/
[root@Feet /]# chmod o+t /test/data/