Linux存储结构与磁盘划分

存储结构与磁盘划分

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
/boot 开机所需文件—内核、开机菜单以及所需配置文件等
/dev 以文件形式存放任何设备与接口  # 
/etc 配置文件   #
/home 用户家目录   # 
/bin 存放单用户模式下还可以操作的命令
/lib 开机时用到的函数库,以及/bin /sbin 下面的命令要调用的函数
/sbin 开机过程中需要的命令
/media 用于挂载设备文件的目录        # 
/opt 放置第三方的软件
/root 系统管理员的家目录     # 
/srv 一些网络服务的数据文件目录
/tmp 任何人均可使用的“共享”临时目录
/proc 虚拟文件系统,例如系统内核、进程、外部设备及网络状态等     # 
/usr/local 用户自行安装的软件         # 
/usr/sbin Linux 系统开机时不会使用到的软件/命令/脚本
/usr/share 帮助与说明文件,也可放置共享文件   # 
/var 主要存放经常变化的文件,如日志           # 
/lost+found 当文件系统发生错误时,将一些丢失的文件片段存放在这里
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
常见的硬件设备及其文件名称

IDE 设备 /dev/hd[a-d]
SCSI/SATA/U 盘 /dev/sd[a-p]
软驱 /dev/fd[0-1]
打印机 /dev/lp[0-15]
光驱 /dev/cdrom
鼠标 /dev/mouse
磁带机 /dev/st0 或/dev/ht0



系统采用 a~p 来代表 16 块不同的硬盘(默认从 a 开始分配),而且硬盘的分区编号也很有讲究:
➢ 主分区或扩展分区的编号从 1 开始,到 4 结束;
➢ 逻辑分区从编号 5 开始。

主分区不能超过 4 个
  • 挂载硬件设备
    mount 命令
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
用于挂载文件系统,格式为“mount 文件系统 挂载目录”
mount 命令中的参数以及作用
-a 挂载所有在/etc/fstab 中定义的文件系统   ,执行后自动检查
/etc/fstab 文件中有无疏漏被挂载的设备文件,如果有,则进行自动挂载操作
-t 指定文件系统的类型

例如,要把设备/dev/sdb2 挂载到/backup 目录:
mount /dev/sdb2 /backup     # 重启后挂载就会失效


#永久配置
把挂载信息按照指定的填写格式
“设备文件 挂载目录 格式类型 权限选项 是否备份 是否自检”
写入到 /etc/fstab 文件中

#用于挂载信息的指定填写格式中,各字段所表示的意义
设备文件    一 般 为 设 备 的 路 径 + 设 备 名 称 , 也 可 以 写 唯 一 识 别 码 ( UUID ,Universally Unique Identifier)
挂载目录    指定要挂载到的目录,需在挂载前创建好
格式类型    指定文件系统的格式,比如 Ext3、 Ext4、 XFS、 SWAP、 iso9660(此为光盘设备)等
权限选项    若设置为 defaults,则默认权限为: rw, suid, dev, exec, auto, nouser, async
是否备份    若为 1 则开机后使用 dump 进行磁盘备份,为 0 则不备份
是否自检    若为 1 则开机后自动进行磁盘自检,为 0 则不自检

#例如:
将文件系统为 ext4 的硬件设备/dev/sdb2 在开机后自动挂载到/backup 目录上,并保持默认权限且无需开机自检
vim /etc/fstab

/dev/sdb2        /backup     ext4     defaults     0      0

umount 命令

1
2
3
umount [挂载点/设备文件]

umount /dev/sdb2
  • 添加硬盘设备
1
2
3
#操作思路:首先需要在虚拟机中模拟添加入一块新的硬盘存储设备,然后再进行分区、格式化、挂载等操作,最后通过检查系统的挂载状态并真实地使用硬盘来验证硬盘设备是否成功添加

现在虚拟机中添加一个新的虚拟硬盘

fdisk 命令

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
"fdisk [磁盘名称]",它提供了集添加、删除、转换分区等功能于一身的“一站式分区服务”
交互式

#fdisk 命令中的参数以及作用
m     查看全部可用的参数
n     添加新的分区
d     删除某个分区信息
l     列出所有可用的分区类型
t     改变某个分区的类型
p     查看分区信息  
w     保存并退出
q     不保存直接退出


===
在确认创建一个主分区后,系统要求您先输入主分区的编号。我们在前文得知,主分区的编
号范围是 1~4,因此这里输入默认的 1 就可以了.
接下来系统会提示定义起始的扇区位置,这不
需要改动,我们敲击回车键保留默认设置即可,系统会自动计算出最靠前的空闲扇区的位置。最
后,系统会要求定义分区的结束扇区位置,这其实就是要去定义整个分区的大小是多少。我们不
用去计算扇区的个数,只需要输入+2G 即可创建出一个容量为 2GB 的硬盘分区

敲击参数 w 后回车,这样分区信息才是真正的写入成功啦

===
使用 file 命令查看该文件的属性,
file /dev/sdb1
可以输入 partprobe 命令手动将分区信息同步到内核,而且一般推荐连续
两次执行该命令,效果会更好。如果使用这个命令都无法解决问题,那么就重启计算机吧
partprobe
partprobe
file /dev/sdb1

===
mkfs
如果硬件存储设备没有进行格式化,则 Linux 系统无法得知怎么在其上写入数据。因此,
在对存储设备进行分区后还需要进行格式化操作。在 Linux 系统中用于格式化操作的命令是
mkfs。这条命令很有意思,因为在 Shell 终端中输入 mkfs 名后再敲击两下用于补齐命令的 Tab键

mkfs.文件类型名称
#例如:
要格式分区为 XFS 的文件系统
 mkfs.xfs /dev/sdb1

===
挂载并使用存储设备
步骤:
首先是创建一个用于挂载设备的挂载点目录;
然后使用 mount 命
令将存储设备与挂载点进行关联;
最后使用 df -h 命令来查看挂载状态和硬盘使用量信息。
 mkdir /newFS
 mount /dev/sdb1 /newFS/
 df -h

du 命令

1
2
3
4
查看文件数据占用量
格式为“du [选项] [文件]”

 du -sh /* 命令 来查看在 Linux 系统根目录下所有一级目录分别占用的空间大小
  • 添加交换分区
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
为了解决真实物理内存不足的问题     ,
通过在硬盘中预先划分一定的空间,然后将把内存中暂时不常用的数据临时存放到硬盘中,以便腾出物理内存空间让更活跃的程序服务来使用的技术

#交换分区的划分建议:在生产环境中,交换分区的
大小一般为真实物理内存的   1.5~2   倍,为了让大家更明显地感受交换分区空间的变化,这里
取出一个大小为 5GB 的主分区作为交换分区资源。在分区创建完毕后保存并退出即可:

==
SWAP 分区专用的格式化命令  mkswap
mkswap /dev/sdb2

使用  swapon  命令把准备好的 SWAP 分区设备正式挂载到系统中。
swapon /dev/sdb5

free -m   查看交换分区的大小变化

vim /etc/fstab
/dev/sdb2     swap     swap     defaults     0     0
  • 磁盘容量配额 quota
1
2
3
4
5
6
7
8
9
#介绍
quota     -- 限制每个人能够使用的磁盘容量

inode  个数
    isoft    # 只是警告提醒,日志
    ihard  # 强制限制
block 容量

defaults  

xfs_uquota

1
2
#
xfs_uquota -x -c 'limit bsoft=3m bhard=6m isoft=3 ihard=6 xps'  /boot

edquota 修改配额

1
edquota xps
  • 软硬方式链接
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
ln 命令
格式为“ln [选项] 目标

#参数
-s 创建“符号链接”(如果不带-s 参数,则默认创建硬链接)
-f 强制创建文件或目录的链接
-i 覆盖前先询问
-v 显示创建链接的过程

#硬连接 -> 源文件删除也没事
  • 剖析ll文件参数信息
1
2
3
4
5
6
7
-rw-r--r--. 1 root root 813 Apr 15  2014 yum.conf

.   -> facl +
1  多少块
813  占用实际大小
 Apr 15  2014  最后修改文件的时间
 
0%