一、总结:
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
原文地址:http://huangyisan.blog.51cto.com/6925110/1694364