低级格式化:创建磁盘
高级格式化:创建文件系统
MBR: Master Boot Record
512bytes:
446bytes: bootloader
64: 分区表, 其中每16bytes标示一个分表,最多4主分区;
2:5A
扩展分区:
再次划分为逻辑分区
Linux:
sda[1-]
sda1:
sda2
sda3
sda4
sda5: 第一个逻辑分区
fdisk, sfdisk, part
fdisk <= 15分区
fdisk -l [DEVICE]
fdisk [DEVICE]
交互式命令:
d: 删除一个分区
n: 新建一个分区
p: 显示当前的分区信息
w: 保存退出
q: 不保存退出
l: 各分区类型所对应的System ID;
83:Linux
82:Linux Swap,交换分区
8e: LVM
fd: Soft Raid
t: 修改指定分区的System ID;
查看内核识别的分区信息:
cat /proc/partitions
RHEL5让内核重新读取硬盘分区表:
partprobe [DEVICE]
RHEL6让内核重新读取硬盘分区表:
partx -a [PARTITION] DEVICE
下一步:格式化分区,用于创建文件系统
Linux, mkfs
mkfs -t fstype /dev/part
RHEL5:ext3
RHEL6:ext4
mkfs -t ext4 = mkfs.ext4 = mke2fs -t ext4
mkfs -t ext3 = mkfs.ext3 = mke2fs -j = mke2fs -t ext3
mkfs -t ext2 = mkfs.ext2 = mke2fs = mke2fs -t ext2
配置文件:/etc/mke2fs.conf,用于设定默认特性,及各文件系统的特有的特性;
mke2fs -t {ext2|ext3|ext4}
-b {1024|2048|4096}:块大小
块大小取决CPU对内存页框大小的支持,x86系统默认页框大小为4K;
-L label: 设定卷标
-m #: 预留给管理使用的块所占据总体空间的比例;
-r #: 预留给管理使用的块的个数;
-E: 设定文件系统的扩展属性;
tune2fs
-l: 显示文件系统超级块信息;
-L label:重新设定卷标;
-m #: 调整预留给管理使用的块所占据总体空间的比例;
-r #: 调整预留给管理使用的块个数;
-o:设定挂载默认选项
-O: 设定文件系统默认特性
-E: 调整文件系统的扩展属性
e2label: 显示或设定卷标;
e2label DEVICE [Volume_label]
要显示块大小:
tune2fs -l DEVICE | grep "Block size"
blkid DEVICE: 显示设备的UUID、文件系统类型及卷标;
挂载:mount
mount [-t fstype] DEVICE MOUNT_POINT
mount [-t fstype] LABEL="卷标" MOUNT_POINT
mount [-t fstype] UUID="UUID" MOUNT_POINT
mount: 当前系统挂载的所有设备;
umount DEVICE
umount MOUNT_POINT
挂载之后,原有数据的会被隐藏,因此不能挂载到系统常用目录上;
卸载之时,要确保没有进程正在访问挂载的设备;否则,无法卸载;
/etc/fstab: 系统开机会自动挂载的文件系统;
fdisk -l [/dev/sda]
globbing,
fdisk -l /dev/[hs]d[a-z]
mount: 将某文件系统关联至根文件系统上来
FileSystem: 一个软件,内核中实现
Windows:
NTFS, FAT32
Linux: VFS (Virtual File System)
ext, xfs,
iso9660
nfs, cifs
ext2, ext3, ext4, xfs, jfs, reiserfs, vfat
GFS, GFS2, OCFS2
mount -t fstype [options] DEVICE MOUNT_POINT
DEVICE:
设备文件:/dev/sda1, /dev/hdb2
卷标:LABEL=“label”
UUID: UUID="uuid"
MOUNT_POINT:
blkid PARTITION
mkfs -t [fstype] PARTITION
要点:
1、文件系统必须被内核支持才能使用,即内核有相应的内核模块,或者已经将之整合进内核;
2、要有相应文件系统创建工具,这通常是mkfs.fstype
mkfs -t ext2 = mkfs.ext2 = mke2fs
mkfs -t ext3 = mkfs.ext3 = mke2fs -j = mke2fs -t ext3
mkfs -t ext4 = mkfs.ext4 = mke2fs -t ext4
mkfs -t xfs = mkfs.xfs
mke2fs
-t
-L
-m
-b
-E
tune2fs
-l
e2label
umount
mount
-o: 用于指定挂载选项,常用的挂载选项
ro: 只读挂载;
rw: 读写,默认即为读写;
noatime: 关闭 更新 访问时间;
auto: 是否能够由“mount -a”挂载;
defaults:相当于rw, suid, dev, exec, auto, nouser, async, and relatime
sync: 同步写入
async:异步写入
dev:
remount: 重新挂载
loop: 本地回环设备;
mount -o remount,other_options DEVICE
cdrom --> sr0
cdrom --> hdc
mount -o loop,other_options DEVICE MOUNT_POINT: 用于挂载回环设备;
-n: 挂载文件系统时,不更新/etc/mtab文件;
-r: 相当于“-o ro”, 只读挂载;
fuser [MOUNT_POINT]:查看正在访问某挂载点的进程;
fuser -km [MOUNT_POINT]: 强行杀死正在访问此挂载点的进程;
/etc/fstab
挂载的设备:
设备文件、卷标、UUID
挂载点:
文件系统类型:ext2, ext3, ...
挂载选项:defaults表示使用默认选项,多个选项彼此间逗号分隔;
转储频率:
0: 从不备份;
1:每日备份;
2:
自检次序:
0:不检测;
1:第一个检测;一般只有根文件系统被第一个检测;
2
9
mount -a: 挂载 /etc/fstab所有支持auto挂载选择的文件系统
Linux的交换分区:swap
必须是独立分区,独立文件系统;
交换分区多大?
科学计算类的服务器:交换内存可以尽可能大,比如为物理内存的2倍;
应用程序类的服务器:交换内存尽可能小,比如只给1G;
物理内存小于等于2G, swap=memory*2
2G<memory<4G, swap=memory*1.5
memory>4G, swap=4G
如何内存大小:
free
-m: 空间大小换算为MB
-g: 空间大小换算为GB
shared: 共享内存
buffer: 缓冲
cached: 缓存
创建交换分区:
mkswap DEVICE
-L label
启用交换分区:
swapon DEVICE:启用指定交换分区;
swapon -a: 启用所有交换分区
禁用交换分区:
swapoff DEVICE
swapoff -a
开机自动启用交换分区,可定义于/etc/fstab
DEVICE swap swap defaults 0 0
挂载点:swap
文件系统类型:swap