您的位置:首页 > 运维架构 > Linux

Linux 磁盘基本管理详解

2014-02-23 13:22 176 查看
低级格式化:创建磁盘

高级格式化:创建文件系统

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  磁盘 Linux 基本管理