1、磁盘管理node
磁盘设备二进制文件前512字节中,前446字节是启动相关数据,随后64字节是分区表,最后两位是55AA标记位linux
lsblk -d -o name,rota 判断磁盘是固态仍是机械,ROTA为1是机械,为0是固态算法
parted /dev/sdb print 打印/dev/sdb的分区表 缓存
parted /dev/sdb mklabel msdos 建立mbr分区 修改设备文件前512字节安全
parted /dev/sdb mklabel gpt 建立gpt分区网络
parted /dev/sdb mkpart 1 200 从1M到200M建立分区 199M的空间app
parted /dev/sdb rm 1 删除第一个分区异步
dd if=/dev/zero of=/dev/sdb bs=1 count=66 seek=446 删除磁盘文件前512字节的后66字节,55 aa若是在的话系统仍会认为磁盘存在分区async
parted修改分区不须要保存,比较危险工具
fdisk 更适合管理MBR分区
gdisk 更适合管理GPT分区
子命令
p 分区列表
t 更改分区类型
n 建立新分区
d 删除分区
v 校验分区
u 转换单位
w 保存并退出
q 不保存并退出
2、文件系统
LINUX中,经常使用的文件系统为ext4和xfs文件系统
tune2fs -l 查看文件元数据 ext4文件系统
[root@localhost ~]# tune2fs -l /dev/sdb2 tune2fs 1.44.6 (5-Mar-2019) Filesystem volume name: <none> Last mounted on: <not available> Filesystem UUID: a491c4fd-65ff-42da-af1a-d9cec0af4314 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum Filesystem flags: signed_directory_hash Default mount options: user_xattr acl Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 196608 Block count: 786432 Reserved block count: 39321 Free blocks: 755396 Free inodes: 196587 First block: 0 Block size: 4096 Fragment size: 4096 Group descriptor size: 64 Reserved GDT blocks: 383 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 8192 Inode blocks per group: 512 Flex block group size: 16 Filesystem created: Tue Apr 14 23:17:19 2020 Last mount time: Tue Apr 14 23:22:21 2020 Last write time: Tue Apr 14 23:22:21 2020 Mount count: 1 Maximum mount count: -1 Last checked: Tue Apr 14 23:21:41 2020 Check interval: 0 (<none>) Lifetime writes: 67 MB Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 256 Required extra isize: 32 Desired extra isize: 32 Journal inode: 8 Default directory hash: half_md4 Directory Hash Seed: dae36448-2e8c-467a-b270-536e866f823f Journal backup: inode blocks Checksum type: crc32c Checksum: 0x4f7178a0
xfs_info 查看文件元数据 xfs文件系统
[root@localhost ~]# xfs_info /dev/sda2 meta-data=/dev/sda2 isize=512 agcount=4, agsize=6553600 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=1, sparse=1, rmapbt=0 = reflink=1 data = bsize=4096 blocks=26214400, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0, ftype=1 log =internal log bsize=4096 blocks=12800, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
tune2fs 修改块设备文件的特性
tune2fs -o acl 为设备文件添加acl功能
mount -a 修改挂载配置文件后让配置文件生效
blkid 查看设备的uuid
e2label 为ext4设备添加卷标
dumpe2fs 查看ext4文件系统设备的块组,设备的元数据
fuser -v lsof 查询文件被哪一个用户使用
mount
-t vsftype 指定要挂载的设备上的文件系统类型 -r readonly 只读挂载 -w read and write 读写挂载 -n 不更新/etc/mtab,mount不可见 -a 自动挂载全部支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto功能) -L 'LABEL' 以卷标指定挂载设备 -U 'UUID' 以UUID指定要挂载的设备 -B --bind 绑定目录到另外一个目录上 -o options:(挂载文件系统的选项),多个选项使用逗号分隔 async 异步模式,内存更改时,写入缓存区buffer,过一段时间再写到磁盘中,效率高,但不安全 sync 同步模式,内存更改时,同时写磁盘,安全,但效率低下 atime/noatime 包含目录和文件 diratime/nodiratime 目录的访问时间戳 auto/noauto 是否支持开机自动挂载,是否支持-a选项 exec/noexec 是否支持将文件系统上运行应用程序 dev/nodev 是否支持在此文件系统上使用设备文件 suid/nosuid 是否支持suid和sgid权限 remount 从新挂载 ro/rw 只读、读写 user/nouser 是否容许普通用户挂载此设备,/etc/fstab使用 acl/noacl 启用此文件系统上的acl功能 loop 使用loop设备 _netdev 当网络可用时才对网络资源进行挂载,如:NFS文件系统 defaults 至关于rw, suid, dev, exec, auto, nouser, async
mount -o loop cento6挂载文件
fuser -km +设备 踢出所有正在使用该设备的用户
fsck 检查修复文件系统工具
e2fsck ext文件系统专用修复工具
xfs_repair xfs文件系统修复工具
etc/fstab 保存挂载信息
df只能看到已经被挂载的设
后两排数字第一个为备份,0为不备份,1为1天备份一次,第二个数字为开机时对文件系统检查,0为不检查,数字为检查顺序
# # /etc/fstab # Created by anaconda on Tue Apr 14 06:12:25 2020 # # 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. # # After editing this file, run 'systemctl daemon-reload' to update systemd # units generated from this file. # UUID=1eb16b93-c5a2-40a3-8daa-8eae7a74a090 / xfs defaults 0 0 UUID=d3be8bb8-f447-48b1-988f-7c6275e9888b /boot ext4 defaults 1 2 UUID=5c31da75-a5b2-4d05-9f4e-0567962f7c5f /data xfs defaults 0 0 UUID=b719fa02-4848-45b1-952f-e9c0cbac7cd8 swap swap defaults 0 0
swap分区是在内存不足时,临时调用硬盘空间做为内存的技术,因为硬盘速度远不及内存速度,因此当系统开始使用swap分区时,系统运行速度将会降低
通常状况下,swap分区大小应该为内存大小的两倍,但最大不该超过8G
/proc/sys/vm/swappiness 为开始使用swap空间的区间,当内存空间剩余该文件的数值时,启用swap分区
/proc/swaps 保存各个swap分区使用优先级数值越大越优先
mkswap 将分区设置成swap文件系统
swapon -a 新增swap分区后让配置生效
swapon -s 查看swap分区
swapon -p 设置swap分区的优先级
partprobe 同步分区表
pvs 显示目前存在的物理卷
pvdisplay 显示目前存在的物理卷
pvcreate 建立物理卷
pvremove 删除物理卷
vgs 显示目前存在的卷组
vgdisplay 详细显示目前存在的卷组
vgcreate 建立卷组
vgremove 删除卷组,须要先删除物理卷
vgextend 扩展卷组
vgreduce 从卷组中删除物理卷
lvs 显示目前存在的逻辑卷
lvdisplay 详细显示目前存在的逻辑卷
lvresize -r 重设大小
lvcreate -n 名字 -l 大小,建立逻辑卷 100%FREE 用剩余空间 20%VG使用百分之20
lvextend -l 能够扩展逻辑卷 扩展逻辑卷后须要同步文件系统,不然df显示大小不变
lvreduce -L 缩减逻辑卷,缩减逻辑卷大小分4步
resize2fs +挂载点,扩容逻辑卷后同步ext4文件系统
xfs_growfs +挂载点,扩容逻辑卷后同步xfs文件系统
lvconvert --merge+快照名 恢复逻辑卷快照,恢复快照前须要取消逻辑卷挂载
[root@localhost ~]# pvcreate /dev/sdb1 Physical volume "/dev/sdb1" successfully created. [root@localhost ~]# pvs PV VG Fmt Attr PSize PFree /dev/sdb1 lvm2 --- <20.00g <20.00 [root@localhost ~]# vgcreate asd /dev/sdb1 Volume group "asd" successfully created [root@localhost ~]# vgs VG #PV #LV #SN Attr VSize VFree asd 1 0 0 wz--n- <20.00g <20.00g
[root@localhost ~]# lvcreate -L 500M -n lv0 asd
Logical volume "lv0" created.
[root@localhost ~]# mkfs.ext4 /dev/asd/lv0
mke2fs 1.44.6 (5-Mar-2019)
Creating filesystem with 512000 1k blocks and 128016 inodes
Filesystem UUID: 6ba27e70-09d9-4143-a408-08b6e201cdce
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
[root@localhost ~]# mount /dev/asd/lv0 /mnt/lv0
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv0 asd -wi-ao---- 500.00m
[root@localhost ~]# lvextend -l +70%FREE /dev/asd/lv0
Size of logical volume asd/lv0 changed from 500.00 MiB (125 extents) to 14.14 GiB (3621 extents).
Logical volume asd/lv0 successfully resized.
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv0 asd -wi-ao---- 14.14g
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 463M 0 463M 0% /dev
tmpfs 479M 0 479M 0% /dev/shm
tmpfs 479M 6.7M 472M 2% /run
tmpfs 479M 0 479M 0% /sys/fs/cgroup
/dev/sda2 100G 2.1G 98G 3% /
/dev/sda5 50G 390M 50G 1% /data
/dev/sda1 976M 112M 798M 13% /boot
tmpfs 96M 0 96M 0% /run/user/0
/dev/mapper/asd-lv0 477M 2.3M 445M 1% /mnt/lv0
[root@localhost ~]# resize2fs /dev/asd/lv0
resize2fs 1.44.6 (5-Mar-2019)
Filesystem at /dev/asd/lv0 is mounted on /mnt/lv0; on-line resizing required
old_desc_blocks = 4, new_desc_blocks = 114
The filesystem on /dev/asd/lv0 is now 14831616 (1k) blocks long.
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 463M 0 463M 0% /dev
tmpfs 479M 0 479M 0% /dev/shm
tmpfs 479M 6.7M 472M 2% /run
tmpfs 479M 0 479M 0% /sys/fs/cgroup
/dev/sda2 100G 2.1G 98G 3% /
/dev/sda5 50G 390M 50G 1% /data
/dev/sda1 976M 112M 798M 13% /boot
tmpfs 96M 0 96M 0% /run/user/0
/dev/mapper/asd-lv0 14G 2.2M 14G 1% /mnt/lv0
[root@localhost ~]# umount /mnt/lv0 第一步:取消挂载
[root@localhost ~]# fsck -f /dev/asd/lv0 第二步:检查文件系统
fsck from util-linux 2.32.1
e2fsck 1.44.6 (5-Mar-2019)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/asd-lv0: 11/3679952 files (0.0% non-contiguous), 475738/14831616 blocks
[root@localhost ~]# resize2fs /dev/asd/lv0 1G 第三步:将文件系统设置为1G
resize2fs 1.44.6 (5-Mar-2019)
Resizing the filesystem on /dev/asd/lv0 to 1048576 (1k) blocks.
The filesystem on /dev/asd/lv0 is now 1048576 (1k) blocks long.
[root@localhost ~]# lvreduce -L 1G /dev/
Display all 163 possibilities? (y or n)
[root@localhost ~]# lvreduce -L 1G /dev/asd/lv0 第四步:将逻辑卷缩减为1G
WARNING: Reducing active logical volume to 1.00 GiB.
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce asd/lv0? [y/n]: y
Size of logical volume asd/lv0 changed from 14.14 GiB (3621 extents) to 1.00 GiB (256 extents).
Logical volume asd/lv0 successfully resized.
[root@localhost ~]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
lv0 asd -wi-a----- 1.00g
[root@localhost ~]# lvcreate -l 64 -s -n lv0-snapshot -p r /dev/asd/lv0 建立逻辑卷快照
Logical volume "lv0-snapshot" created.
eject 弹出光驱
RAID,磁盘冗余阵列
RAID功能:
提升IO能力,磁盘并行读写
提升耐用性,磁盘冗余算法来实现
RAID实现的方式:
外接式磁盘阵列:经过扩展卡提供适配能力
内接式RAID:主板集成RAID控制器,安装OS前在BIOS里配置
软件RAID:经过OS实现,好比:群晖的NAS
经常使用RAID级别
RAID 0
RAID0又称条带卷,最少须要两块硬盘才能组成,工做的时候将数据拆分,对全部硬盘同时进行读写,读写速度最快,缺点是没法提供冗余功能,坏一块一盘将致使数据丢失。
RAID 1
RAID1又称镜像卷,最少须要两块硬盘才能组成,且磁盘数量必须为双数,工做时将同一个数据分别写入两块磁盘,两块磁盘内容彻底一致,其中一块磁盘坏了也不会丢数据,可是存储空间要打对折。
RAID 5
RAID5组成最少须要3块磁盘,工做时将一个数据拆分红磁盘数量减一的份数,而后生成一个校验位写入剩下的磁盘中,IO速度会有提高,存储空间为N-1,最多容许损坏一块硬盘。
RAID 6
RAID5组成最少须要4块磁盘,工做时将一个数据拆分红磁盘数量减2的份数,而后生成两个个校验位写入剩下的磁盘中,IO速度会有提高,存储空间为N-2,最多容许损坏两块硬盘。
RAID 10
RAID10为RAID1和RAID0的组合,先将磁盘两两作成RAID1,而后将全部RAID1作成RAID0,组成RAID10最少须要4块硬盘,并且磁盘数量必须是双数,RAID10的容量为磁盘数量除2,RAID10能够提高IO速度,也提供了冗余功能,最多每组RAID1中坏一块磁盘。
网络管理
ISO国际标准化组织的OSI网络七层参考模型
应用层、表示层、会话层、传输层、网络层、数据链路层、物理层
mii-tool 查看网卡信息
Ip link 查看网卡信息
中国无线网络标准 WAPI
国际通用wifi标准为802.11