day22系统磁盘管理

01. 磁盘分区操作步骤

购买了多块新磁盘 --- 真实使用磁盘

1) 进行创建阵列(raid)      将几块地皮整合

2) 进行分区操作            重新规划

3) 进行格式化操作          清理地皮

4) 创建文件系统            建房子的风格

5) 进行挂载操作            有了门

02. 磁盘体系结构第一层: 磁盘体系结构详述

磁盘外部结构:

a 组成部分:

  磁盘主轴:

  控制磁盘转速(rpm-round per minute==rpm)

  转速越快, 读写效率更高

  转速越低, 读写效率越低

  家用磁盘转速  7200 rpm  5400 rpm

  企业磁盘转速  15k rpm  10k rpm


  磁盘盘片: 用于存储数据

  磁盘磁头: 用于读取数据

  磁盘接口: 用于连接主板

b 接口分类: 磁盘类型

  机械硬盘: SATA(串型接口) < SCSI(串行接口) < SAS

  固态硬盘: PCI-e

磁盘内部结构:

磁头: 读取数据

磁道: 存储数据

扇区: 存储数据 数据存储最小单位  512字节

柱面: 存储数据 不同盘面上相同的磁道组成(圆柱体)

单元块: 表示单个柱面大小

1) 可以更准确知道磁盘读取数据原理

  固态硬盘 优于 机械硬盘

  a. 用户发出读取磁盘数据请求 /oldboy/oldboy.txt

  b. 磁盘开始读取数据, 从0磁头,0磁道,1扇区开始读取..10扇区

  c. 利用电子切换, 切换1磁头,0磁道,1扇区开始读取..10扇区

  d. 利用径向运动, 切换磁道信息, 继续寻找数据

2) 可以进行磁盘大小运算

centos7:

fdisk -l  --- 查看磁盘具体参数信息

Disk /dev/sda: 53.7 GB, 53687091200 bytes, 104857600 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: 0x000bf20e

centos6:

# fdisk -l    # 显示磁盘大小信息

Disk /dev/sda: 53.7 GB, 53687091200 bytes

# 显示磁头数,扇区数/每磁道数, 柱面数

255 heads, 63 sectors/track, 6527 cylinders

# 单元块大小

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

3计算磁盘大小公式:

1) 已知扇区数量和一个扇区大小  得知磁盘总大小        centos7

  awk 'BEGIN{print (104857600*512)/1000/1000/1000}'

2) 已知扇区大小512  每隔磁道扇区数量  多少个磁道==柱面 已知磁头数

  awk 'BEGIN{print 512*63*6527*255/1000/1000/1000}' centos6

05. 磁盘体系结构第二层: 磁盘阵列配置 LVM配置???

1) 磁盘阵列作用

  a 提供更多存储空间

  b 提高数据读写效率

  c 提高数据存储安全


2) 磁盘阵列的配置级别

  raid 0 (至少两块)

a: 空间  不会损失磁盘容量

b: 效率  可以提升读写效率

c: 安全  没有安全可言


raid 1 (至少两块)

a: 空间  会损失一半容量

b: 效率  不会有效率提升

c: 安全 具有安全保障

企业场景: 对数据安全关注比较高的服务器 (存储服务器 数据库服务器)

raid 5 (至少三块磁盘) -- raid 6

a: 空间  只损失一块磁盘空间

b: 效率  可以提升读写效率

c: 安全  有安全保证(只能有一块磁盘损坏 热备盘 可以坏两块(不能同时))

企业场景: 大部分互联网服务器都会应用

raid 10(至少四块磁盘)

a: 空间  损失一半

b: 效率  会有提升

c: 安全  具有保障(每组只能坏一块)

企业应用场景: 数据库服务器 

raid 01(至少四块磁盘

a: 空间  损失一半 

b: 效率  会有提升

c: 安全 具有保障(损坏机率较高) 


01. 磁盘体系结构-第二层: LVM

01LVM: 可以实现磁盘分区空间弹性缩容和扩容

在企业一般不对有数据的分区进行缩容处理

02. 磁盘体系结构-第三层: 磁盘分区说明

预备知识:

1. 系统启动引导记录 MBR

MBR存放在磁盘的0磁头 0磁道 1扇区中 512字节

a 加载引导启动系统文件数据信息    446

b 分区表的信息                    64字节分区

2. 分区表概念:

一个分区表中包含: (sda)

主分区    --- 最多4个  表示方式 sda1 sda2 sda3 sda4 

扩展分区  --- 只有1个  表示方式 sda5(扩展分区中逻辑分区)

PS: 扩展分区不能直接使用,需要建立逻辑分区才能使用

问题一: 如果主分区已经有4个了 还能再有扩展分区

最终磁盘只有4个分区


问题二: 如何有更多的分区

有主分区 还要有扩展分区

3个主分区  1扩展分区---逻辑分区

磁盘如何进行分区:

方法一: fdisk (磁盘小于2T)

环境准备: 需要准备两块磁盘 10M 100M

确认检查:

[root@oldboy-xiaodao.com.cn ~]# fdisk -l

Disk /dev/sdb: 10 MB, 10485760 bytes, 20480 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 /dev/sdc: 106 MB, 106954752 bytes, 208896 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

进行分区操作:

fdisk /dev/sdb  --- 对磁盘进行分区命令

Command action

d  delete a partition --- 删除一个分区

l  list known partition types --- 列出分区类型(8e  Linux LVM)

m  print this menu                --- 输出帮助信息

n  add a new partition            --- 创建新的分区

p  print the partition table      --- 输出分区信息

q  quit without saving changes    --- 不做任何改变进行退出

t  change a partition's system id  --- 改变分区类型

w  write table to disk and exit    --- 保存分区配置

创建主分区操作

Command (m for help): n  创建分区

Partition type:

  p  primary (0 primary, 0 extended, 4 free)

  e  extended

Select (default p): p    指定创建的是主分区

Partition number (1-4, default 1): 1      指定分区号码

First sector (2048-20479, default 2048):

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-20479, default 20479): +5M  指定分区大小

Partition 1 of type Linux and of size 5 MiB is set

创建扩展分区

Command (m for help): n 

Partition type:

  p  primary (1 primary, 0 extended, 3 free)

  e  extended

Select (default p): e    指定创建扩展分区

Partition number (2-4, default 2):

First sector (12288-20479, default 12288):

Using default value 12288

Last sector, +sectors or +size{K,M,G} (12288-20479, default 20479): 不输大小表示剩余全部空间

Using default value 20479

Partition 2 of type Extended and of size 4 MiB is set

创建逻辑分区:

Command (m for help): n

Partition type:

  p  primary (1 primary, 1 extended, 2 free)

  l  logical (numbered from 5)

Select (default p): l        需要首先创建好扩展分区

Adding logical partition 5

First sector (14336-20479, default 14336):

Using default value 14336

Last sector, +sectors or +size{K,M,G} (14336-20479, default 20479):

Using default value 20479

Partition 5 of type Linux and of size 3 MiB is set

输出分区信息

Command (m for help): p

Disk /dev/sdb: 10 MB, 10485760 bytes, 20480 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: 0x43a2def7

  Device Boot      Start        End      Blocks  Id  System

/dev/sdb1            2048      12287        5120  83  Linux

/dev/sdb2          12288      20479        4096    5  Extended

/dev/sdb5          14336      20479        3072  83  Linux

调整分区类型

Command (m for help): t

Partition number (1,2, default 2): 1

Hex code (type L to list all codes): 8e

Changed type of partition 'Linux' to 'Linux LVM'

删除分区操作

Command (m for help): d

Partition number (1,2,5, default 5): 5

Partition 5 is deleted

方法二: parted (大于2T)

当一个分区大小超过2T时, 不能再使用MBR引导记录, 使用GPT来识别大容量磁盘

parted /dev/sdd

分区方法:

mklabel(创建分区表 MRB-msdos/gpt)             

        create a new disklabel (partition table)    mklabel gpt

mkpart (创建新的分区)

        make a partition                            mkpart primary 0 20M

print(显示分区表信息)

      display the partition table

rm(删除指定分区信息)

    delete partition NUMBER

quit(退出分区界面)

exit program

修改分区引导记录信息

(parted) mklabel gpt                                                     

Warning: Partition(s) on /dev/sdd are being used.

Ignore/Cancel? Ignore

创建分区信息

(parted) mkpart primary 0 2100G

删除分区方法

rm  分区号码

03. 磁盘体系结构-第四层: 创建文件系统(格式化处理)

文件系统有什么: 采用相应机制存储和管理数据

centos5: ext2 ext3

centos6: ext4

centos7: xfs   

        特点: 在数据库服务器中可以更高效存储数据信息

              在格式化磁盘时, 效率更高(大的磁盘)

nfs 网络文件系统  分布式文件系统

在格式化前需要执行以下命令

partprobe  /dev/sdb    --- 告知内核系统已经对磁盘进行了分区

做格式化处理:

mkfs.ext4 /dev/sdb1

mkfs.xfs  /dev/sdb1    --- 无法识别小分区信息(10M以下)

mkfs -t xfs /dev/sdb1

04. 磁盘体系结构-第五层: 进行磁盘挂载

mount /dev/sdb1 /mnt

05. 如何实现自动挂载分区(/dev/sdc1  /mnt_100M)

mount /dev/sdc1 /mnt_100M

方法一: 将挂载命令放入到/etc/rc.local文件中

vim /etc/rc.local

mount /dev/sdc1 /mnt_100M

说明: 需要确保rc.local目录具有执行权限

[root@oldboy-xiaodao.com.cn ~]# ll -d /etc/rc.local

lrwxrwxrwx. 1 root root 13 Dec 29 16:33 /etc/rc.local -> rc.d/rc.local

[root@oldboy-xiaodao.com.cn ~]# ll -d /etc/rc.d/rc.local

-rwxr-xr-x. 1 root root 499 Jan 29 11:33 /etc/rc.d/rc.local

方法二: 利用fstab文件实现分区自动挂载

vim /etc/fstab

设备文件    挂载点目录  文件系统类型  挂载的参数信息    是否进行备份    是否检查磁盘

/dev/sdc1  /mnt_100M  xfs            defaults          0              0

06. 企业案例: tomcat(网站服务)--java语言编写的程序, 运行过程中比较消耗内存

临时需要添加内存 --- 将硬盘空间临时充当内存使用  -- swap分区

如何调正swap分区大小

第一个里程: 从磁盘中取出一定空间重当内存使用

[root@oldboy-xiaodao.com.cn ~]# dd if=/dev/zero of=/tmp/1G  bs=100M  count=10

10+0 records in

10+0 records out

1048576000 bytes (1.0 GB) copied, 25.9294 s, 40.4 MB/s

第二个里程: 定义文件可以被swap分区使用

[root@oldboy-xiaodao.com.cn ~]# ll /tmp/1G -h

-rw-r--r-- 1 root root 1000M Jan 29 11:54 /tmp/1G

[root@oldboy-xiaodao.com.cn ~]# file /tmp/1G

/tmp/1G: data

[root@oldboy-xiaodao.com.cn ~]# mkswap /tmp/1G

Setting up swapspace version 1, size = 1023996 KiB

no label, UUID=a10ad568-60c9-4311-9e09-e6db844d6130

[root@oldboy-xiaodao.com.cn ~]# file /tmp/1G

/tmp/1G: Linux/i386 swap file (new style), version 1 (4K pages), size 255999 pages, no label, UUID=a10ad568-60c9-4311-9e09-e6db844d6130

第三个里程: 让swap分区可以加载swap文件

[root@oldboy-xiaodao.com.cn ~]# swapon /tmp/1G

swapon: /tmp/1G: insecure permissions 0644, 0600 suggested.

[root@oldboy-xiaodao.com.cn ~]# free -h

              total        used        free      shared  buff/cache  available

Mem:          1.9G        99M        734M        9.5M        1.1G        1.7G

Swap:          2.0G          0B        2.0G

将swap空间进行减小

[root@oldboy-xiaodao.com.cn ~]# swapoff /tmp/1G

[root@oldboy-xiaodao.com.cn ~]# free -h

              total        used        free      shared  buff/cache  available

Mem:          1.9G        98M        734M        9.5M        1.1G        1.7G

Swap:          1.0G          0B        1.0G

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342