linux磁盘管理与文件 系统

一、作业(练习)内容:

1、复习本次课程所讲的内容;

2、总结整理磁盘管理及文件系统管理中设计的各种命令的使用,并附注一定的示例;

Linux磁盘管理

机械式

磁盘接口类型:

识别硬盘设备:/dev/sd

标记不同的硬盘设备:/dev/sd[a-z]

标记同一设备上的不同分区:/dev/sd[a-z][1-]

1-4:主或扩展分区标识

5+:逻辑分区标识

设备文件:特殊文件

设备号:

major,
minor

major:设备类型

minor: 同一类型下的不同设备

“块”:block,随机设备

“字符”:character,线性设备

GPT

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

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

文件系统:

VFS:Virtual File System

绝对路径:/

根文件系统:rootfs

文件系统挂载:

LSB:
FHS(文件系统层级结构标准)

FHS:

/boot:引导文件存放目录,例如kernel(vmlinuz)、bootloader(grub, grub2);

/bin:
binary,供用户使用的基本的命令;OS启动即会用到程序;

/sbin:管理类的基本命令;

/lib:基本共享库;内核模块;

/lib64:x86_64系统的共享库;

/etc:配置文件目录;

/home/USERNAME:普通用主目录的默认位置;

/root:管理员的主目录;

/media:便携式移动设备;

/mnt:临时文件系统挂载点;

/opt:可选目录,第三方应用程序的默认安装位置;

/dev:devices,设备文件

b:block devices,random access

c:
character deivces,linear access

/proc:

伪文件系统;用于输出内核与进程的相关信息;

/sys:

伪文件系统;

/srv:services,系统上运行服务用到中间数据;

/tmp:临时文件目录;

/usr:Universal Shared,
Read-only data;

bin:保证系统提供基本功能;

sbin

lib

lib64

include:
C程序的头文件;header
files

share:结构化的独立数据

doc,
man

local:现在常用的第三方程序的安装位置;

bin

sbin

lib

lib64

etc

share

/var:variable data files

cache:应用程序缓存数据

lib:应用程序的状态信息数据

local:专用于为/usr/local下的应用程序存储可变数据;

lock:锁文件

log:日志文件

opt:专用于/opt

spool:应用程序的数据池;

run:运行中的进程的相关数据;通常用守护进程 的pid文件;

/selinux

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

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

[[email protected] ~]# 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: 0x0005f700 
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        7675   
61440000   83  Linux
/dev/sda3            7675        7936    
2097152   82  Linux swap / Solaris
Disk /dev/sdb: 21.5 GB, 21474836480
bytes
255 heads, 63 sectors/track, 2610
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

这里发现有一个硬盘

[[email protected] ~]# fdisk /dev/sdb
Device contains neither a valid DOS
partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk
identifier 0x88371439.
Changes will remain in memory only,
until you decide to write them.
After that, of course, the previous
content won‘t be recoverable.
Warning: invalid flag 0x0000 of
partition table 4 will be corrected by w(rite)
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): m
Command action 
a   toggle a bootable flag 
b   edit bsd disklabel 
c   toggle the dos compatibility
flag 
d   delete a partition  
l   list known partition types  
m   print this menu  
n   add a new partition  
o   create a new empty DOS
partition table  
p   print the partition table 
q   quit without saving changes  
s   create a new empty Sun
disklabel 
t   change a partition‘s system id 
u   change display/entry units 
v   verify the partition table 
w   write table to disk and exit  
x   extra functionality (experts
only)
Command (m for help): n
Command action  
e   extended 
p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-2610, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G}
(1-2610, default 2610): +10G
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition
table.
Syncing disks.
[[email protected] ~]# cat /proc/partitions
major minor  #blocks 
name 
8        0  125829120 sda  
8        1     204800 sda1  
8        2   61440000 sda2  
8        3    2097152 sda3
8       16   20971520 sdb  
8       17   10490413 sdb1
[[email protected] ~]#

接下来格式化,并且指定类型为ext4

[[email protected] ~]# mkfs -t ext4
/dev/sdb1
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
655776 inodes, 2622603 blocks
131130 blocks (5.00%) reserved for the
super user
First data block=0
Maximum filesystem blocks=2688548864
81 block groups
32768 blocks per group, 32768 fragments
per group
8096 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: done
This filesystem will be automatically
checked every 35 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

然后在根目录下创建mydata目录,并使用mount命令挂载分区

[[email protected] ~]# mkdir /mydata    -----创建目录
[[email protected] ~]#
[[email protected] ~]# mount -o auto /dev/sdb1
/mydata  -o auto表示此分区允许自动挂载
[[email protected] ~]# df -Th
Filesystem     Type  
Size  Used Avail Use% Mounted on
/dev/sda2      ext4   
58G  3.4G   52G  
7% /
tmpfs          tmpfs 
491M     0  491M  
0% /dev/shm
/dev/sda1      ext4  
190M   36M  145M 
20% /boot
/dev/sdb1      ext4  
9.8G   23M  9.3G  
1% /mydata
[[email protected] ~]#

最后要求开机可自动挂载

[[email protected] ~]# blkid /dev/sdb1   ---使用blkid命令查看该分去的UUD,并把该值复制下来
/dev/sdb1: UUID="c48ea605-b1d7-4585-aeb8-e6918ea4e77a" TYPE="ext4"
[[email protected] ~]#
[[email protected] ~]# vi /etc/fstab

-------编辑/etc/fstab配置文件,添加一行该分区的信息,下次开机后系统将会自动挂载该分区

# /etc/fstab
# Created by anaconda on Wed Aug 19
18:07:26 2015
#
# 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
#
UUID=628caa97-3e69-481c-95ed-13acc4721bec
/                       ext4    defaults        1 1
UUID=f7eb501a-f2d6-4b95-bf68-b4a616f3d992
/boot                   ext4    defaults        1 2
UUID=511653fb-e927-4f78-bac9-c2d349484467
swap                    swap    defaults        0 0
UUID="c48ea605-b1d7-4585-aeb8-e6918ea4e77a"
/mydata               ext4    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

最后保存退出

[[email protected] ~]# mount -a
[[email protected] ~]#
[[email protected] ~]# df -Th
Filesystem     Type  
Size  Used Avail Use% Mounted on
/dev/sda2      ext4   
58G  3.4G   52G  
7% /
tmpfs          tmpfs 
491M     0  491M  
0% /dev/shm
/dev/sda1      ext4  
190M   36M  145M 
20% /boot
/dev/sdb1      ext4  
9.8G   23M  9.3G  
1% /mydata
[[email protected] ~]#
时间: 2024-10-06 05:10:33

linux磁盘管理与文件 系统的相关文章

Linux磁盘管理及文件系统管理中命令的使用

1.磁盘管理工具fdisk的使用: 最多支持在一块硬盘上的15个分区: 分区管理子命令: p: 显示磁盘信息 n: 创建一个5G的主分区 d: 删除分区 t: 修改分区ID l: 列出所有支持ID类型 w: 保存退出 q: 放弃修改并退出 m: 获取帮助 创建完成之后,查看内核是否已经识别新的分区: # cat /proc/partitions 如果没有识别到新建分区可使用以下三个命令让内核重读磁盘分区表: CentOS 5: partprobe [DEVICE] CentOS 6,7: par

linux磁盘管理及文件系统介绍

MBR,是硬盘的主引导记录,处于0磁道0扇区,共有512字节,其中前446字节为BootLoader,用于引导系统启动,紧接的64字节用于标识分区,每16字节标识一个分区,故一个硬盘最多有4个主分区,若想使用更多的分区,可创建3个主分区,再创建一个扩展分区,然后在扩展分区上创建逻辑分区:最后的2个字节用于标识MBR是否有效. MBR对于磁盘非常重要,可使用下面命令对MBR进行备份: dd if =/dev/sda of=/mbrbackup bs=512 count=1 当MBR损坏时,可用下面

Linux磁盘管理——设备文件

在Linux环境中,设备文件都在/dev目录下,这些设备文件并不占用磁盘块来存储数据,因此设备文件没有大小,只是在inode表上标识一下元数据.元数据存有设备的设备号. 设备号分为主设备好.次设备号,主设备号表示设备类型.设备文件分块设备文件(b).字符设备文件(c). 块设备  按块为单位 随机访问设备 字符设备 以字符为单位 线性访问 b 硬盘 c 键盘 主设备号 major number 用于标识设备类型 次设备号 ninor number  用于标识同一类型的不同设备 块设备 [[ema

Linux磁盘管理和文件系统管理

一.磁盘基本知 1.磁盘分类 机械式硬盘 固态硬盘 2.磁盘接口类型: IDE:在Linux下文件名为/dev/hd[a-d],最高速率可达133MBytes SCSI:在Linux下文件名为/dev/sd[a-z],最高速率可达640MBytes SATA:在Linux下文件名为/dev/sd[a-z],最高速率可达6Gbps SAS:在Linux下文件名为/dev/sd[a-z],最高速率可达6Gbps USB:在Linux下文件名为/dev/sd[a-z],最高速率可达480MBytes

Linux系统磁盘管理及文件系统管理中各类命令使用

一.复习上次内容 二.总结整理磁盘管理及文件系统管理中设计的各种命令的使用,并附注一定的示例: 1.mkfs命令使用 mkfs.type -t /dev/sda... mkfs -t ext2 = mkfs.ext2 mkfs -t ext3 = mkfs.ext3 2.mke2fs命令:管理ext系列文件系统 mke2fs [OPTION]...DEVICE -t:指定格式化格式{ext2|ext3|ext4} -b BLOCK_SIZE:指定块大小,默认4096k,也可指定1024或2048

linux磁盘管理以及linux文件系统管理

linux磁盘管理       硬盘            机械师硬盘            SSD            机械式硬盘            track:磁道            sector:每个扇区512bytes            cylinder:柱面由若干个相同编号的磁道组成                    MBR:0磁道的0扇区master boot record主引导柱面                    512bytes              

linux 磁盘管理

linux磁盘管理 I/O Port: I/O 设备地址 块设备:block, 存取单位"块",磁盘 字符设备:char, 存取单位"字符", 键盘 设备文件:关联至一个设备驱动程序,使能够与之对应的硬件设备进行通信 设备号:主设备号   次设备号 设备文件只有源数据(属性),没有数据,都是特殊类型的文件,目录也是 /dev/dev_file都在这儿 硬盘的接口类型: 并行(慢于串口): IDE   133MB/S(接口速率) SCSI  640MB/S 串口: S

Linux磁盘管理高级

Linux磁盘管理高级 LVM Btrsh LVM 逻辑卷管理(LVM)指系统将物理卷管理抽象成一个逻辑卷,包括重新设定文件系统的大小,LVM可以弹性的更改LVM的容量,通过交换PE来进行资料的转换,将原来LV内的PE转移到其他的设备中以降低LV的容量,或将其他设备中的PE加到LV中以加大容量. LVM还有快照的功能,快照区与原本的LV共用很多PE的区块,因此快照区与被快照的LV必须要要在同一个VG上!系统恢复的时候的文件数量不能高于快照区的实际容量. LVM的基本原理可用下图表示: LVM: 

深入剖析linux磁盘管理

一.linux中常见的磁盘: 无论什么操作系统,归根还是要落实与磁盘上的,对于磁盘的管理也是linux管理必备的一项技能.在linux中"一切皆文件"的思想贯彻整个linux的学习中,包括像是磁盘等的硬件也是在linux的/dev/目录下类似于文件形式的存放,常见的SATA口USB优盘或是SCSI口的硬盘在linux中是以/dev/sd[a-p]开头的文件,早期的IDE硬盘现在已经很少见了,这种硬盘在linux中是以/dev/hd[a-d],CDROM是以/dev/cdrom开头的文件