linux分区格式8e,linux磁盘分区格式化

乱世风云剑之磁盘分区格式化

在进行磁盘分区格式化之前,先介绍一些基础常识,虽说是常识,但隔行如隔山,外行人看了,不一定懂。不扯了,步入正题。

磁盘分区格式化是相对于硬盘而言的,硬盘属于随机存储设备,在我们的电脑上有各种硬盘的接口,而接口有可以归纳为两大类,串行接口和并行接口。

串行接口(Serial port)又称“串口”,主要用于串行式逐位数据传输。常见的有一般电脑应用的RS-232(使用 25 针或 9 针连接器)和工业电脑应用的半双工RS-485与全双工RS-422。

并行接口是一种增强了的双向并行传输接口。优点是不需在PC中用其它的卡,无限制连接数目(只要你有足够的端口),设备的安装及使用容易,最高传输速度为1.5Mbps。缺点是当传输距离较远、位数又多时,导致了通信线路复杂且成本提高。

Linux, /dev/设备文件

IDE, ATA: /dev/hd[a-z]------并口

IDE: Master, Slave

第一个IDE控制接硬盘:

第二个IDE控制接光驱:hdc

SCSI, SAS, SATA, USB: /dev/sd[a-z]------串口

/dev/sda, /dev/sdb

Windows支持的文件系统主要有FAT32和NTFS

Linux支持的文件系统主要有MINIX、XIAFS、EXT、EXT2、ISO9660、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SYSV、SMBFS、NCPFS

RAW:裸设备

低级格式化:创建磁盘

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

MBR: Master Boot Record   mbr是硬盘的主引导记录,属于引导区。

含有512bytes:

前446bytes: bootloader

中间64: 分区表,其中每16bytes标示一个分表,最多4主分区;

最后两个字节固定为55AA,(magic number)被称作魔数

以SCSI接口为例,若是硬盘插在了第一个插槽,它的各个分区就可以这样表示

Sda1,sda2,sda3,sda4.....

若是插在了第二个插槽,则可以这样表示

Sdb1,sdb2, sdb3,sdb4......

以此类推。

分区与格式化

先用fdisk分区,分区完成后再用mkfs格式化并创建文件系统,挂载,磁盘就能使用啦。

由于mbr主引导记录里的主分区表只有64bytes,而每个主分区在分区表里只能占16bytes,所以,硬盘上最多只能有四个主分区。

fdisk是用来磁盘分区的程序,它采用传统的问答式界面,而非类似DOS fdisk的cfdisk互动式操作界面,因此在使用上较为不便,但功能却丝毫不打折扣。

fdisk -l [DEVICE]

参数

-b指定每个分区的大小。

-l 列出指定的外围设备的分区表状况。

-s将指定的分区大小输出到标准输出上,单位为区块。

-u 搭配"-l"参数列表,会用分区数目取代柱面数目,来表示每个分区的起始地址。

-v 显示版本信息。

fdisk [DEVICE]

交互式命令:

d: 删除一个分区

n: 新建一个分区

p: 显示当前的分区信息

w: 保存退出

q: 不保存退出

l: 各分区类型所对应的System ID;

83:Linux

82:Linux Swap,交换分区

8e:LVM

fd::Soft Raid

t: 修改指定分区的System ID;

fdisk -l [/dev/sda]

fdisk -l /dev/[hs]d[a-z]

[root@station110 ~]# fdisk -l /dev/sda

Disk /dev/sda: 128.8 GB, 128849018880 bytes

255 heads, 63 sectors/track, 15665 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0006e97b

Device Boot Start End Blocks Id System

/dev/sda1 * 1 26 204800 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 26 7859 62914560 8e Linux LVM

/dev/sda4 7859 15665 62708728+ 5 Extended

/dev/sda5 7859 10470 20979859+ 83 Linux

/dev/sda6 10471 15665 41728806 83 Linux

[root@station110 ~]# fdisk /dev/sda

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

switch off the mode (command 'c') and change display units to

sectors (command 'u').

Command (m for help):

删除磁盘分区是,注意系统原先存在的主分区不要误删,否则,系统会直接崩溃Command (m for help): d

Partition number (1-6): 4

Command (m for help): p

Disk /dev/sda: 128.8 GB, 128849018880 bytes

255 heads, 63 sectors/track, 15665 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0006e97b

Device Boot Start End Blocks Id System

/dev/sda1 * 1 26 204800 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 26 7859 62914560 8e Linux LVM

直接创建扩展分区Command (m for help): n

Command action

e extended

p primary partition (1-4)

e

Partition number (1-4): 4

First cylinder (7859-15665, default 7859):

Using default value 7859

Last cylinder, +cylinders or +size{K,M,G} (7859-15665, default 15665):

Using default value 15665

Command (m for help): p

Disk /dev/sda: 128.8 GB, 128849018880 bytes

255 heads, 63 sectors/track, 15665 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0006e97b

Device Boot Start End Blocks Id System

/dev/sda1 * 1 26 204800 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 26 7859 62914560 8e Linux LVM

/dev/sda4 7859 15665 62708728+ 5 Extended

创建逻辑分区

Command (m for help): n

Command action

l logical (5 or over)

p primary partition (1-4)

l

First cylinder (7859-15665, default 7859):

Using default value 7859

Last cylinder, +cylinders or +size{K,M,G} (7859-15665, default 15665): +20G

Command (m for help): P

Disk /dev/sda: 128.8 GB, 128849018880 bytes

255 heads, 63 sectors/track, 15665 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x0006e97b

Device Boot Start End Blocks Id System

/dev/sda1 * 1 26 204800 83 Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2 26 7859 62914560 8e Linux LVM

/dev/sda4 7859 15665 62708728+ 5 Extended

/dev/sda5 7859 10470 20979859+ 83 Linux

格式化磁盘分区

[root@station110 ~]# mke2fs -b 1024 -m 3 -L music /dev/sda5

创建挂载点,进行挂载[root@station110 ~]# mkdir /media/music

[root@station110 ~]# mount /dev/sda5 /media/music

取消挂载

[root@station110 ~]# umount /dev/sda5

只读挂载[root@station110 ~]# mount -o ro /dev/sda6 /media/book

[root@station110 ~]# mount -r /dev/sda6 /media/book

若有其他用户正在访问某个挂载点,则无法卸载该挂载点[root@station110 ~]# umount /dev/sda6

umount: /media/book: device is busy.

(In some cases useful info about processes that use

the device is found by lsof(8) or fuser(1))

查看是谁正在访问此挂载点

the device is found by lsof(8) or fuser(1))

[root@station110 ~]# fuser /media/book

/media/book: 3100c

fuser -km [MOUNT_POINT]: 强行杀死正在访问此挂载点的进程;root@station110 ~]# fuser -km /media/book

/media/book: 3100c

查看内核识别的分区信息:

cat /proc/partitionsmajor minor #blocks name

8 0 125829120 sda

8 1 204800 sda1

8 2 62914560 sda2

8 4 1 sda4

8 5 52435129 sda5

8 6 10273536 sda6

8 16 20971520 sdb

253 0 20971520 dm-0

253 1 2097152 dm-1

253 2 10485760 dm-2

253 3 20971520 dm-3

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

挂载之后,原有数据的会被隐藏,因此不能挂载到系统常用目录上;

卸载之时,要确保没有进程正在访问挂载的设备;否则,无法卸载;

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  /etc/fstab所有支持auto挂载选择的文件系统

/etc/fstab: 系统开机会自动挂载的文件系统;[root@station110 ~]# cat /etc/fstab

#

# /etc/fstab

# Created by anaconda on Wed Jul 17 16:24:23 2013

#

# Accessible filesystems, by reference, are maintained under '/dev/disk'

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

/dev/mapper/vg0-root / ext4 defaults 1 1

UUID=44e43d1d-d8ad-4be6-b9a2-d4314df246c3 /boot ext4 defaults 1 2

/dev/mapper/vg0-usr /usr ext4 defaults 1 2

/dev/mapper/vg0-var /var ext4 defaults 1 2

/dev/mapper/vg0-swap swap swap defaults 0 0

tmpfs /dev/shm tmpfs defaults 0 0

devpts /dev/pts devpts gid=5,mode=620 0 0

sysfs /sys sysfs defaults 0 0

proc /proc proc defaults 0 0

挂载的设备:五列信息分别是

设备文件、卷标、UUID

挂载点:

文件系统类型:ext2, ext3, ...

挂载选项:defaults表示使用默认选项,多个选项彼此间逗号分隔;

转储频率:

0: 从不备份;

1:每日备份;

2:

自检次序:

0:不检测;

1:第一个检测;一般只有根文件系统被第一个检测;

2

9

Linux的交换分区:swap

必须是独立分区,独立文件系统;

交换分区多大?

科学计算类的服务器:交换内存可以尽可能大,比如为物理内存的2倍;

应用程序类的服务器:交换内存尽可能小,比如只给1G;

物理内存小于等于2G, swap=memory*2

2G

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分区格式8e)