老男孩Linux运维58期课堂笔记
作者:于冬
归档:课堂笔记
日期:3.29
1、fdisk 分区工具介绍
2、LVM动态扩容
[root@oldboyedu ~]# partprobe /dev/sdb 将分区信息通知内核,真正生效
3、parted 分区实践
需求:RAID5大小6T,已经装了系统了, 额外添加4块2T盘
现有一个做了RAID5的硬盘,要求分三个区,
硬盘总分区大小: 6.2T
/data0 4.8T
/data1 1T
4G (无需格式化,作DRBD+Hearbeat+MySQL高可用集群)
parted /dev/sdb mklabel gpt #<==修改分区格式为gpt。
parted /dev/sdb mkpart primary 0 4800000 #<==创建一个4.8T主分区
parted /dev/sdb mkpart primary 4800001 5800001 #<==创建一个1T主分区
parted /dev/sdb mkpart primary 5800002 5804098 #<==创建一个4G主分区
parted /dev/sdb p
一键创建
parted /dev/sdb mklabel gpt
parted /dev/sdb mkpart primary 0 480 I
parted /dev/sdb mkpart primary 481 580 I
parted /dev/sdb p
修改分区格式:
(parted) mklabel msdos
Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to
continue?
Yes/No? Y
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 1074MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
问题需求:刚买的服务器 4块2T 刚买,要做RAID5,装系统怎么搞定?
方法1:Raid制作视频,Raid里可以支持RAID5后,6T,允许你把6T分成虚拟磁盘。200G分成第一个虚拟磁盘剩下不分留着装系统后(parted)。
方法2:装系统过程中有这个功能,系统镜像支持GPT格式分区,很隐蔽。
方法3:引导工具,进入然后用parted分区。
分区知识:
(1)什么是分区,为什么要分区?
(2)磁盘和分区在Linux里的命名。
(3)磁盘分区类型和特点:
(4)磁盘分区工作原理:
(5)磁盘分区实战
(6)生产场景分区方案:4种。参考前面课程。
4、文件系统:
1、什么是文件系统?
计算机存储和组织数据的方法或者机制。落地是一个软件。
2、为什么需要文件系统?
磁盘、物理介质、磁粒子物理元素。 硬件需要软件驱动使用,磁盘需要文件系统驱动。
文件系统实现通过磁盘管理规划、存取数据。
3、文件系统有哪些种类?
Windows:NTFS、fat32、msdos
Linux:ext2、ext3(C5)、ext4(C6)、Xfs(C7)、btrfs
4、创建文件系统实践
5、文件系统原理(ext文件系统)、文件系统特点
6、企业中如何选择文件系统。
7、企业里如何优化文件系统?
[root@oldboyedu ~]# mkfs -t ext4 /dev/sdb1 #格式化ext4文件系统 mkfs.ext4
其实关键就是生成一定数量的Inode和Block。
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks
5120 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
sdb2挂载
[root@oldboyedu ~]# mount /dev/sdb2 /opt #没有格式化没法挂载
mount: /dev/sdb2 is write-protected, mounting read-only
mount: unknown filesystem type '(null)'
[root@oldboyedu ~]# mkfs.xfs /dev/sdb2 #格式化xfs文件系统
meta-data=/dev/sdb2 isize=512 agcount=4, agsize=6400 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=25600, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=855, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@oldboyedu ~]# mount -t xfs /dev/sdb2 /opt
You have new mail in /var/spool/mail/root
[root@oldboyedu ~]# df -h|grep opt
/dev/sdb2 97M 5.3M 92M 6% /opt
[root@oldboyedu ~]# touch /opt/oldgirl
[root@oldboyedu ~]# ls /opt
oldgirl
5、如何开机自动挂载?
/etc/fstab 开机自动挂载
[root@oldboyedu ~]# cat /etc/fstab
/dev/sdb2 /opt xfs defaults 0 0
设备 挂载点 文件系统类型 默认挂载选项 是否备份 是否开机磁盘检查
vim /etc/fstab
[root@oldboyedu ~]# blkid (查看块设备属性)
/dev/sdb1: UUID="a45b004f-2322-4dc4-a281-2a212dd2ab79" TYPE="ext4"
/dev/sdb2: UUID="7daf8142-b641-4b60-a287-4e08dfa18611" TYPE="xfs"
/dev/sda1: UUID="fd2e0ca7-32be-425f-86a2-85c02b9ec5ea" TYPE="xfs"
/dev/sda2: UUID="79a3924b-739e-48dc-ab0c-0444b9ac6591" TYPE="swap"
/dev/sda3: UUID="3a3a295f-88f8-456d-94dc-1a3eeb517c02" TYPE="xfs
mount -a 可以将fstab里的信息挂载。
放入/etc/rc.local 实现自动挂载 但不推荐。
/sbin/mount -t xfs /dev/sdb2 /opt
查看文件系统内部细节:
[root@oldboyedu ~]# dumpe2fs /dev/sdb1 #查看ext文件系统内部细节
6、fsck 磁盘检查和修复
1、正常的磁盘不能操作。
2、卸载挂载点在操作
[root@oldboyedu ~]# fsck (检查和修复ext文件系统)
fsck fsck.btrfs fsck.cramfs fsck.ext2 fsck.ext3 fsck.ext4 fsck.minix fsck.xfs
7、指定块大小和inode大小格式
[root@oldboyedu ~]# mkfs -t ext4 -b 4096 -I 512 /dev/sdb3
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
38400 inodes, 38400 blocks
1920 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=39845888
2 block groups
32768 blocks per group, 32768 fragments per group
19200 inodes per group
Superblock backups stored on blocks:
32768
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
[root@oldboyedu ~]# dumpe2fs /dev/sdb3|egrep -i "size"
dumpe2fs 1.42.9 (28-Dec-2013)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Block size: 4096
Fragment size: 4096
Group descriptor size: 64
Flex block group size: 16
Inode size: 512
Required extra isize: 28
Desired extra isize: 28
Journal size: 16M
8、swap分区
swap作用,内存不够时候,用来充当内存,一般内存1.5倍。大于8G给8G
将来JAVA服务,内存泄漏。。。
swap就会占用。。。操作系统性能下降
[root@oldboyedu ~]# fdisk /dev/sdb
Command (m for help): n
Partition type:
p primary (3 primary, 0 extended, 1 free)
e extended
Select (default e): p
Selected partition 4
First sector (718848-2097151, default 718848):
Using default value 718848
Last sector, +sectors or +size{K,M,G} (718848-2097151, default 2097151): +150M
Partition 4 of type Linux and of size 150 MiB is set
Command (m for help): p
Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x000006b6
Device Boot Start End Blocks Id System
/dev/sdb1 2048 206847 102400 83 Linux
/dev/sdb2 206848 411647 102400 83 Linux
/dev/sdb3 411648 718847 153600 83 Linux
/dev/sdb4 718848 1026047 153600 83 Linux
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.
[root@oldboyedu ~]# partprobe /dev/sdb
[root@oldboyedu ~]# mkswap /dev/sdb4
Setting up swapspace version 1, size = 153596 KiB
no label, UUID=2d1ac352-4cc0-4727-8318-5526a3c309c2
[root@oldboyedu ~]# swapon -a /dev/sdb4
You have new mail in /var/spool/mail/root
[root@oldboyedu ~]# free -m
total used free shared buff/cache available
Mem: 1980 144 1673 19 162 1658
Swap: 917 0 917