Linux文件系统
1.面试时如何满足面试官10大需求?
1.1.生理需求: 拿出水给面试官喝
1.2.金钱需求: 几十万(三线以下)
1.3.安全需求: 不要威胁他的地位
1.4.重要需求: 认真听,动笔记
1.5.情感需求: 穿着、坐姿、眼神、语气语音语调、专业、规范、 态 度、面试最专业总结发给面试官
1.6.赞美与鼓励需求: 赞美、夸赞
1.7.自有需求:解放面试官的工作
1.8.美的需求:
1.9.成长需求:
1.10.好奇需求:
2.追女朋友如何满足女生的10大需求?
2.1.生理需求:
2.2.金钱需求:
2.3.安全需求:
2.4.重要需求:
2.5.情感需求:
2.6.赞美与鼓励需求:
2.7.自有需求:
2.8.美的需求:
2.9.成长需求:
2.10.好奇需求:
3.自我提升的时候如何满足自己的10大需求?
3.1.生理需求:
3.2.金钱需求:
3.3.安全需求:
3.4.重要需求:
3.5.情感需求:
3.6.赞美与鼓励需求:
3.7.自有需求:
3.8.美的需求:
3.9.成长需求:
3.10.好奇需求:
4、老男孩核心思想:人类思维是如何决策的?
信念:潜意识,不受自己的思想控制,自动发生的
创建虚拟文件系统:
dd if =/dev/sda of=/dev/sdb bs=512 count=10240
来源 生成文件系统 block大小 块个数
[root@lixin ~]# dd if=/dev/sda of=/dev/sdc count=10240
10240+0 records in
10240+0 records out
5242880 bytes (5.2 MB) copied, 0.0461558 s, 114 MB/s
[root@lixin ~]# ls -l /dev/sdc
-rw-r--r--. 1 root root 5242880 Mar 30 20:04 /dev/sdc
[root@lixin ~]# file /dev/sdc
/dev/sdc: x86 boot sector; partition 1: ID=0x83, active, starthead 32, startsector 2048, 409600 sectors; partition 2: ID=0x82, starthead 159, startsector 411648, 4096000 sectors; partition 3: ID=0x83, starthead 149, startsector 4507648, 37435392 sectors, code offset 0x63
1.fdisk 分区工具介绍
fdisk 只能root权限用户使用
fdisk适合于对系统后的剩余空间进行分区,例如:安装系统时没有全部分区,或者安装系统后添加磁盘
fdisk支持mbr分区表(2TB以内)
5、查看分区信息:
[root@lixin ~]# cat /proc/partitions
major minor #blocks name
8 0 20971520 sda
8 1 204800 sda1
8 2 2048000 sda2
8 3 18717696 sda3
8 16 1048576 sdb
8 17 153600 sdb1
8 18 153600 sdb2
8 19 153600 sdb3
8 20 1 sdb4
8 21 153600 sdb5
8 22 431104 sdb6
11 0 4365312 sr0
分区完毕必须执行 partprobe 将分区信息通知内核已修改
root@lixin ~]# partprobe /dev/sdb ====》通知内核,并生效
[root@lixin ~]# cat /proc/partitions ====》查看分区信息
major minor #blocks name
11 0 4365312 sr0
8 0 20971520 sda
8 1 204800 sda1
8 2 2048000 sda2
8 3 18717696 sda3
8 16 1048576 sdb
8 17 153600 sdb1
8 18 893952 sdb2
作业:自学:如何用一条命令fdisk命令回车完成上述分区
1.parteb分区—传统的MBR分区方式,有一个局限:(支持2T以上的)
需求:原来4块2T盘,raid5大小6T,
现在有一个做了RAID5的硬盘,要求分三个区,已经装了系统,额外添加4块2T盘
硬盘总分去大小: 6.2T
/data0 4.8T
/data1 1T
4G(无需格式化,作用DRBD+Hearbeat+MYSQL高可用集群)
parted /dev/sdb mklabel gpt ====>修改分区格式为gpt
parted /dev/sdb mkpart parimary 0 4800000 ====>创建一个4.8T主分区
parted /dev/sdb mkpart parimary 4800001 5800001 =====>创建一个1T主分区
parted /dev/sdb mkpart parimary 5800002 5804098 ===>创建一个4G的主分区
parted /dev/sdb p
[root@lixin ~]# parted /dev/sdb ===》交互式分区
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 1074MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
(parted) mklabel gpt ===》修改分区格式gpt
(parted) mkpart primary 0 480 ==》创建第一个分区480M
Warning: The resulting partition is not properly aligned for
best performance.
(parted) p
1 17.4kB 480MB 480MB primary
(parted) mkpart primary 481 580 ===创建二哥分区100M
(parted) p
1 17.4kB 480MB 480MB primary
2 481MB 580MB 98.6MB primary
(parted) mkpart logic 581 600 ===》创建第一个逻辑分区20M
(parted) p
1 17.4kB 480MB 480MB primary
2 481MB 580MB 98.6MB primary
3 581MB 600MB 18.9MB logic
(parted) rm 删除
问题需求:刚买的服务器 4块2T 刚买, 要做raid5,装系统怎么搞定?
方法1:raid制作视频,raid可以支持raid5后,6T,允许你把6T分成虚拟磁盘。
200 G 分成第一个虚拟磁盘,剩下不分留着装系统后(parted)
方法2:装系统过程中有这个功能,系统镜像支持GPT格式分区,很隐蔽
方法3:引导工具,进入,然后用parted分区。
5.2分区知识:
(1)什么是分区,为什么要分区?
磁盘分区就相当于给磁盘打隔断
(2)磁盘和分区在Linux里的命名。
IDE /dev/hda hdb
SCSI sda sdb
(3)磁盘分区类型和特点:
1.主分区(primary)P
1)系统中必须要存在的分区,系统盘选择主分区安装
2)数字编号只能是1--4 sda1 sda2 sda3 sda4
3)主分区最多四个,最少一个
2、扩展分区(extend)E
1)相当于一个独立的小磁盘,独立的分区表,不能独立存在
2)有独立的分区表
3)不能独立存在,既不能直接存放数据
4)必须在扩展分区上建立逻辑分区才能存放数据
5)占用主分区的编号(主分区+扩展分区)之合最多4个
6)扩展分区可以没有,最多只能有一个
3、逻辑分区(logic)L
1)数字编号只能从5开始
2)存放于扩展分区智商
3)存放任意普通数据
(4)磁盘分区工作原理:
(5)磁盘分区实战
磁盘分区关键就是修改64字节的分区表而已
磁盘分区常用命令fdisk,修改MBR分区表,MBR格式
缺陷:被修改的磁盘大小不能大于2T
磁盘分区其他命令parted,需要gpt格式,能修改2T也能修改大于2T的磁盘
小于2T就用fdisk
大于2T就用parted
(6)生产场景分区方案:4种。参考前面课程
使用磁盘的过程:
磁盘---------房子
Raid----------多套房子打通
分区----------隔断/几居室/卧室/卫生间/厨房
文件系统----------装修风格/中式/欧式/美式
格式化------------装修的过程
挂载---------住人,使用/开门/开窗 准备使用
磁盘管理:生活收拾屋子,打扫卫生,修修补补
5.3 文件系统:
5.3.1什么是文件系统?
计算机存储和组织数据的方法或者机制。落地是一个软件
5.3.2 为什么需要文件系统?
没有文件系统没办法放数据,磁盘、物理介质、磁粒子物理元素。硬件需要软件驱动使用,磁盘需要文件系统驱动。
文件系统实现通过磁盘管理规划、存取数据。
5.3.3 文件系统都有那些种类?
Windows : NTFS、fat32、msdos
Linux: ext2、ext3(C5)、ext4(C6)、xfs(C7) btrfs
5.4 创建文件系统实践:
5.5 文件系统原理(ext4文件系统)、文件系统特点
5.6 企业中如何选择文件系统。
5.7 企业里如何优化文件系统
环境准备:
[root@lixin ~]# parted /dev/sdb parted修改
(parted) mklabel msdos 修改文件系统格式
[root@lixin ~]# fdisk /dev/sdb 用fdisk分区
n创建p主分区 100M
[root@lixin ~]# ls -l /dev/sdb* 查看分区结果
brw-rw----. 1 root disk 8, 16 Mar 30 22:42 /dev/sdb
brw-rw----. 1 root disk 8, 17 Mar 30 22:42 /dev/sdb1
brw-rw----. 1 root disk 8, 18 Mar 30 22:42 /dev/sdb2
[root@lixin ~]# mkfs -t ext4 /dev/sdb1 格式化分区文件系统,其实就是生成一定数量的inode和block。
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
[root@lixin ~]# mount -t ext4 /dev/sdb1 /mnt ===》挂载到mnt
[root@lixin ~]# df -h 查看挂在结果
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 1.9G 17G 11% /
devtmpfs 477M 5.0M 472M 2% /dev
tmpfs 488M 0 488M 0% /dev/shm
tmpfs 488M 7.8M 480M 2% /run
tmpfs 488M 0 488M 0% /sys/fs/cgroup
/dev/sda1 197M 102M 95M 52% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sdb1 93M 1.6M 85M 2% /mnt
[root@lixin ~]# touch /mnt/oldboy
[root@lixin ~]# ls -l /mnt/oldboy
-rw-r--r--. 1 root root 0 Mar 30 22:55 /mnt/oldboy
[root@lixin ~]# cat /proc/mounts 文件查看挂在结果
rootfs / rootfs rw 0 0
sysfs /sys sysfs rw,seclabel,nosuid,nodev,noexec
==============临时挂载
强制卸载:umount -lf
如何开机自动挂载?
/etc/fstab 开机自动挂载
6列
UUID= swap swap defaults 0 0
设备名称 挂载点 文件系统类似 默认挂载选项 是否备份 是否开机自动检测
mount -a 可以讲fstab里的信息挂载
或者放入/etc/rc.local 实现自动挂载 但是不推荐
用绝对路径 /sbin/mount -t xfs /dev/sdb2 /opt
查看ext文件系统内部细节:[root@lixin ~]# dumpe2fs /dev/sdb1
fsck 磁盘检查和修复
1.正常的磁盘不能操作
2.操作时卸载挂载点
mkfs -t ext4 -b 4096 -I 512 /dev/sdb* 指定块大小和指定inode大小
swap 作用,存不够时候,用来充当内存,一般内存1.5倍。大于8G给8G
将来可能用JAVA服务,内存泄露
swap就会占用。。操作系统性能下降
root@lixin /mnt]# free -m ---------查看swap内存大小
total used free shared buff/cache available
Mem: 974 97 730 7 147 713
Swap: 1999 0 1999
增加swap 内存
fdisk 创建分区
partprobe 通知内核
mkswap 格式化分区
swapon 给分区