码迷,mamicode.com
首页 > 系统相关 > 详细

linux_磁盘管理与文件系统

时间:2015-09-14 00:42:16      阅读:434      评论:0      收藏:0      [点我收藏+]

标签:linux   文件系统   磁盘管理   

一、总结:

Linux系统管理


磁盘和文件系统管理;

RAID, LVM; btrfs; 

程序包管理:rpm, yum(dnf)

Linux的网络管理; 

进程和作业管理:htop, glances, tsar;

sed和awk;

Linux系统的开机启动流程;

内核基础知识,内核定制编译;

系统安装:kickstart, pxe


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,线性设备


GPT


分区:分隔存储空间为多个小的空间,每个空间可独立使用文件系统;


分区工具:

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 -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


Linux文件系统管理:

mkfs, mkfs -t type = mkfs.type


ext:mke2fs


创建文件系统:

mke2fs [OPTION]... DEVICE

-t {ext2|ext3|ext4}

-b {1024|2048|4096}

-L ‘LABEL‘

-j: mke2fs -t ext3

-i #:

-N #:

-m #: 预留磁盘空间占据多大百分比的空间为后期管理使用;

-O FEATURE[,...]

-O ^FEATURE:关闭此特性

has_journal


文件系统属性查看及调整工具:

e2label

e2lable DEVICE [LABEL]


tune2fs

显示ext系列文件系统的属性,或调整其属性;


-l:显示超级块中的信息;显示整个文件的属性及布局等相关信息;

-L ‘LABEL‘:修改卷标;

-m #: 调整预留给管理员的管理空间百分比;

-j: ext2 --> ext3

-O:文件系统属性的启动或关闭 

-o:文件系统默认挂载选项的启用或关闭


dumpe2fs:

-h: 仅显示超级块信息;


文件系统检测:

fsck: Filesystem check

fsck -t type

fsck.type

-a: 自动修复错误

-r: 交互式修复错误

-f: 强制检测


e2fsck:ext系列文件系统专用的检测修复工具;

-y: 自动回答为“yes”

-f:force


文件系统的挂载和使用:

kernel --> rootfs(分区)


rootfs分区:

bin, sbin, etc, lib, lib64, dev, tmp, proc, sys


/sbin/init


将额外文件系统与根文件系统某现存的目录建立起关联关系,进而使得此目录做为其它文件系统访问入口的行为,称之为挂载;


解除此关联关系的过程:卸载;


挂载点:mount point, 设备挂载至目录;


注意:挂载点在挂载在之后,其内部原有的文件会被暂时隐藏;建立使用空目录做为挂载点;


挂载方法:

mount:通过读取/etc/mtab文件来显示当前系统所有已经挂载的设备;

mount -a:挂载/etc/fstab文件中的所有支持自动挂载的文件系统;

mount [options] [-o options] DEVICE MOUNT_POINT

[options]:命令选项

[-o options]:挂载选项


DEVICE: 要挂载的设备

(1) 设备文件:/dev/sda5

(2) 卷标:-L ‘LABEL‘

(3) UUID:-U ‘UUID‘

(4) 伪文件系统名称

MOUNT_POINT: 挂载点


常用选项:

-t type:文件系统类型

-r: 以“只读”方式挂载此文件系统

-w: 以“读写”方式挂载此文件系统

-n:每个文件系统在挂载时都会自动更新/etc/mtab文件,-n用于禁止此功能;

此时,如果想查看挂载的所有文件系统:cat /proc/mounts

-a: 自动挂载所有支持自动挂载的设备;

-B:绑定目录至另一个目录上;


-o 挂载选项:

async:异步模式

sync: 同步模式

atime/noatime:是否更新访问时间戳;

diratime/nodiratime:是否更新目录的访问时间戳;

auto/noauto: 是否允许此设备被自动挂载;

exec/noexec:是否允许执行此文件系统上应用程序;

dev/nodev:是否支持在此设备上使用设备文件;

suid/nosuid:

remount:重新挂载

ro

rw

user/nouser: 是否允许普通挂载此设备;

acl:是否支持此设备上使用facl;

defaults:rw, suid, dev, exec, auto, nouser, and async


umount:卸载命令

# umount DEVICE

# umount MOUNT_POINT


查看正在访问指定挂载点的进程:

# fuser -v MOUNT_POINT


终止所有正在访问指定的挂载点的进程:

# fuser -km MOUNT_POINT


交换分区:


free命令:

查看memory和swap的使用状态

-m: 以MB为单位

-g: 以GB为单位 


mkswap:创建交换分区


mkswap [option] DEVICE

-L ‘LABEL‘

swapon:启用交换分区

swapon [option] [DEVICE]

-a: 激活所有交换分区

-p PRIORITY: 设定其优先级;


swapoff:禁用交换分区

swapoff [option] [DEVICE]


文件系统等空间占用信息的查看工个:

df: disk free

-h: human-readable

-i: inode数量

-P: 以Posix兼容的格式输出

du: disk usage

-h: human-readable

-s: summary



文件系统相关挂载配置文件:/etc/fstab


每行定义一个文件系统;


要挂载的设备或伪文件系统   挂载点 文件系统类型 挂载选项 转储频率   自检次序


要挂载的设备:

设备文件、LABEL=、UUID=、伪文件系统名称


挂载选项:

defaults


转储频率:

0: 不转储

1: 每天转储

2: 每隔一天转储


自检次序:

0:不自检

1:首先自检,通常只有/才为1

2:

...


文件系统上的链接文件:

硬链接:

两个路径指向同一个inode


不能对目录进行;

不能跨分区进行

指向同一个inode的多个不同路径; 创建文件的硬链接会增加inode的引用计数;删除硬链接仅是删除其一个访问路径,只到最后一个路径被删除; 


符号链接:

链接文件的数据指向另一个文件路径;


可以对目录进行;

可以跨分区;

指向的是另一个文件路径;而非inode;

对文件创建符号链接不会增加其引用计数;删除原文件,符号链接文件也将无法;


ln [-s] SRC DEST

-s:symbolic link 

-v:verbose


二、创建一个10G文件系统,类型为ext4,要求开机可自动挂载至/mydata目录;

首先查看磁盘信息:

[root@Centos6 ~]# fdisk -l

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: 0x0008c80d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        7650    61440000   8e  Linux LVM
/dev/sda2   *        7650        7675      204800   83  Linux

Disk /dev/mapper/vg_centos6-LogVol00: 2097 MB, 2097152000 bytes
255 heads, 63 sectors/track, 254 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: 0x00000000


Disk /dev/mapper/vg_centos6-LogVol03: 39.8 GB, 39841693696 bytes
255 heads, 63 sectors/track, 4843 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: 0xe8070000


Disk /dev/mapper/luks-6f00ee5a-0ab7-4164-bad4-865d6c97b01b: 39.8 GB, 39839596544 bytes
255 heads, 63 sectors/track, 4843 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: 0x00000000


Disk /dev/mapper/vg_centos6-LogVol01: 10.5 GB, 10485760000 bytes
255 heads, 63 sectors/track, 1274 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: 0x00000000


Disk /dev/mapper/vg_centos6-LogVol02: 10.5 GB, 10485760000 bytes
255 heads, 63 sectors/track, 1274 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: 0x00000000


对/dev/sda进行操作:

[root@Centos6 ~]# 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):


选择n,添加一块新的分区

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)


选择主分区或者扩展分区,主分区最多4个,目前还有2个可以选择:

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: 0x0008c80d

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        7650    61440000   8e  Linux LVM
/dev/sda2   *        7650        7675      204800   83  Linux

使用扩展分区,并且创建10G的扩展分区

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
e
Partition number (1-4): 3
First cylinder (7675-15665, default 7675): 
Using default value 7675
Last cylinder, +cylinders or +size{K,M,G} (7675-15665, default 15665): +10G

按w保存创建内容:

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.

对扩展分区再次进行操作,建立10G的空间

[root@Centos6 ~]# 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): n
Command action
   l   logical (5 or over)
   p   primary partition (1-4)
l
First cylinder (7675-8980, default 7675): 
Using default value 7675
Last cylinder, +cylinders or +size{K,M,G} (7675-8980, default 8980): 
Using default value 8980

Command (m for help): w
The partition table has been altered!

partprobe刷新后使用cat /proc/partitions看到:

[root@Centos6 ~]# cat /proc/partitions 
major minor  #blocks  name

   8        0  125829120 sda
   8        1   61440000 sda1
   8        2     204800 sda2
   8        3          1 sda3
   8        5   10485994 sda5
 253        0    2048000 dm-0
 253        1   38907904 dm-1
 253        2   38905856 dm-2
 253        3   10240000 dm-3
 253        4   10240000 dm-4

sda5出来了。

对这10G的空间进行格式化成ext4类型。

[root@Centos6 ~]# mkfs.ext4 /dev/sda5 
mke2fs 1.41.12 (17-May-2010)
warning: 58 blocks unused.

Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
656640 inodes, 2621440 blocks
131074 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
8208 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Writing inode tables: done                            
Creating journal (32768 blocks): 
done
Writing superblocks and filesystem accounting information: ddone

This filesystem will be automatically checked every 36 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

建立/mydata目录

[root@Centos6 ~]# mkdir /mydata

更改fstab使得开机能将/dev/sda5挂载到/mydata下面,挂载之后,使用df -h查看

[root@Centos6 ~]# cat /etc/fstab | tail -n1
/dev/sda5		/mydata		ext4		defaults	0 0

[root@Centos6 ~]# mount -a
[root@Centos6 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/dm-2              37G  356M   35G   2% /
tmpfs                 932M     0  932M   0% /dev/shm
/dev/sda2             190M   41M  140M  23% /boot
/dev/mapper/vg_centos6-LogVol01
                      9.5G  1.6G  7.5G  17% /usr
/dev/mapper/vg_centos6-LogVol02
                      9.5G   79M  9.0G   1% /var
/dev/sda5             9.8G   23M  9.2G   1% /mydata

本文出自 “IT_Landscape” 博客,请务必保留此出处http://huangyisan.blog.51cto.com/6925110/1694364

linux_磁盘管理与文件系统

标签:linux   文件系统   磁盘管理   

原文地址:http://huangyisan.blog.51cto.com/6925110/1694364

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!