一、企业中磁盘选购:

1、线上的业务,用SAS磁盘

2、线下的业务,用SATA磁盘,磁带库

3、线上高并发、小容量(多人浏览力图片)的业务,SSD磁盘

4、根据数据的访问热度,智能分析分层存储,SATA+SSD

二、常见磁盘类型与接口类型:SAS 、SATA、 SCSI、 PHI-E

三、磁盘内部原理

1、磁头:用来写入和读取数据,盘面的数量=磁头的数量

2、磁道(Track)

3、扇区:磁道上面的最小单位,默认大小为512字节

4、柱面

5、单元块:表示一个柱面的大小

四、生产环境常用RAID级别:RAID0,RAID1,RAID5,RAID10

1、RAID是磁盘阵列所使用的主要技术。磁盘阵列是由很多价格较便宜的磁盘,组合成一个容量巨大的磁盘组

RAID级别

最少磁盘要求

关键优点

关键缺点

应用场景

RAID0

1块

读写速度很快

没有任何冗余

MySQL Slave,集群的节点

RAID1

2块

100%冗余,镜像

读写一般,成本高

单独服务器,数据重要,且不能宕机的业务,监控系统般等

RAID5

3块

具备一定性能和冗余,可以坏一块盘

写入性能不高

一般的业务都可以使用

RAID10

4块

读写速度都很快,100%冗余

成本高

性能和没队要求很好的业务,MySQL主库和NFS主节点

2、 磁盘分区

①磁盘分区有三种:主分区、扩展分区、逻辑分区

一个硬盘主分区至少有1个,最多4个,扩展分区可以没有,最多1个。且主分区+扩展分区总共不能超过4个。逻辑分区可以有若干个

②磁盘分区命名

sata第一块硬盘 sda

sata第二块硬盘 sdb

sata磁盘第一块硬盘的第一个分区    sda1

sata磁盘第一块硬盘的第一个逻辑    sda5

③MBR主引导扇区,它仅仅包含一个64个字节的硬盘分区表

五、分区工具fdisk、parted

1 、fdisk用法和参数(只能用于小于2T的磁盘分区)

n     (add a new partition)

创建分区

p     (print the partition table)

显示磁盘分区表

d     (delete a partition)

删除一个分区

q     (quit without saving changes)

退出不保存

w     (write table to disk and exit)

退出并保存

新添加一个100M小磁盘:
[root@nfs-server ~]# fdisk -l|egrep "sd[a-z]:"
Disk /dev/sda: MB, bytes
Disk /dev/sdb: MB, bytes
[root@nfs-server ~]# fdisk /dev/sdb
Command (m for help): n #——>输入n为创建分区
Command action
e extended
p primary partition (-) #——>输入p选择创建主分区
Partition number (-):
First cylinder (-, default ):
Using default value
Last cylinder, +cylinders or +size{K,M,G} (-, default ): +50M #——>为主分区选择大小50M Command (m for help): w #——>保存分区修改并退出

2、parted用法和参数(大于2T的磁盘分区需要)

mklabel,mktable LABEL-TYPE

创建磁盘分区表

mkpart PART-TYPE [FS-TYPE] START END

创建分区

print

显示磁盘分区表信息

rm NUMBER

删除一个分区

新添加一个100M小磁盘:
[root@nfs-server ~]# parted /dev/sdb
(parted) mklabel gpt #——>gpt分区引导,可以解决主分区最多只能有4个的问题
(parted) mkpart lidao 50 #——>创建一个分区名为lidao的分区,大小是50M
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? I #——>忽略警告
(parted) q #——>退出,无需保存,即时生效
Information: You may need to update /etc/fstab.
[root@nfs-server ~]# ll /dev/sdb*
brw-rw---- root disk , Jul : /dev/sdb
brw-rw---- root disk , Jul : /dev/sdb1

小题:创建一个100m分区,挂载到/mnt目录上面

一、使用fdisk创建一个100M分区
[root@nfs-server ~]# fdisk /dev/sdb
Command (m for help): n
Command action
e extended
p primary partition (-)
p
Partition number (-):
First cylinder (-, default ):
Using default value
Last cylinder, +cylinders or +size{K,M,G} (-, default ): +100M
二、通知系统某个磁盘的分区表改变了
[root@nfs-server ~]# partprobe /dev/sdb
三、格式化这个分区
[root@nfs-server ~]# mkfs.ext4 /dev/sdb1
四、挂载/dev/sdb1
[root@nfs-server ~]# mount /dev/sdb1 /mnt/
[root@nfs-server ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 .9G .5G .1G % /
tmpfs 242M 242M % /dev/shm
/dev/sda1 190M 34M 146M % /boot
/dev/sdb1 94M 1.6M 88M % /mnt
五、文件系统开机自动挂载
方法1、echo "mount /dev/sdb1 /mnt/" >>/etc/rc.local
方法2、放到/etc/fstab配置文件中tail - /etc/fstab
/dev/sdb1 /mnt ext4 defaults

3、文件系统及工作中JAVA环境下内存不够用临时增加swap空间

CentOS 5  默认文件系统:ext3

CentOS 6  默认文件系统:ext4

CentOS 7  默认文件系统:xfs

JAVA环境下,内存不够用,如何临时增加swap空间

[root@nfs-server ~]# free –h ——查看当前系统内存使用情况
total used free shared buffers cached
Mem: 482M 120M 362M 232K 13M 34M
-/+ buffers/cache: 72M 409M
Swap: 767M 0B 767M
第一步:创建文件(块)
[root@nfs-server ~]# dd if=/dev/zero of=/tmp/100m bs=1M count=
+ records in
+ records out
bytes ( MB) copied, 1.45189 s, 72.2 MB/s
[root@nfs-server ~]# ll -h /tmp/100m
-rw-r--r-- root root 100M Jul : /tmp/100m
第二步:让这个文件(块)成为swap
[root@nfs-server ~]# mkswap /tmp/100m
mkswap: /tmp/100m: warning: don't erase bootbits sectors
on whole disk. Use -f to force.
Setting up swapspace version , size = KiB
no label, UUID=d2e62cdf--439e-91ec-828db8e7158d
第三步:增加系统正在使用的swap
[root@nfs-server ~]# swapon /tmp/100m
[root@nfs-server ~]# free -h
total used free shared buffers cached
Mem: 482M 354M 127M 232K 30M 219M
-/+ buffers/cache: 105M 377M
Swap: 867M 0B 867M
第四步:开机自动挂载swap
echo "swapon /tmp/100m" >>/etc/rc.local

 

linux运维、架构之路-linux磁盘管理的更多相关文章

  1. linux运维架构师职业规划

    1.假如你从来未接触过Linux的话,首先要做的就找一本指导书来学习.现在公认的Linux的入门书籍是“鸟哥的私房菜”,讲的很全面,鸟哥的私房菜一共分为两部,一部是基础篇,一部是服务器篇.“鸟哥的私房 ...

  2. 教老婆学Linux运维(二)Linux常用命令指南【上】

    目录 教老婆学Linux(二)Linux常用命令指南[上] 一.概述 二.常用命令 教老婆学Linux(二)Linux常用命令指南[上] 作者:姚毛毛的博客 tips:文章太长,分两篇发出,本篇发前三 ...

  3. 教老婆学Linux运维(二)Linux常用命令指南【下】

    目录 tips:紧接上一篇,Linux常用命令指南[上] 2.4 文件解压缩 2.4.1 官宣的linux压缩工具:tar tar的基本命令格式为 tar [参数选项] [文件或目录] 我们前面学的命 ...

  4. Linux运维入门到高级全套常用要点

    Linux运维入门到高级全套常用要点 目 录 1. Linux 入门篇................................................................. ...

  5. 最适合初学者的Linux运维学习教程2018版

    Linux运维工程师是一个新颖岗位,现在非常吃香,目前从行业的角度分析,随着国内软件行业不断发展壮大,越来越多复杂系统应运而生,为了保证系统稳定运行,必须要有足够多的Linux运维工程师.维护是软件生 ...

  6. 其它综合-运维老鸟分享linux运维发展路线规划

    运维老鸟分享linux运维发展路线规划 linux 运维发展路线常见的就是下面两条路线: 第一条:运维应用-->系统架构-->运维开发-->系统开发 第二条:运维应用-->应用 ...

  7. [ Linux运维学习 ] 路径及实战项目合集

    我们知道运维工程师(Operations)最基本的职责就是负责服务的稳定性并确保整个服务的高可用性,同时不断优化系统架构.提升部署效率.优化资源利用率,确保服务可以7*24H不间断地为用户提供服务. ...

  8. 运维是做什么的?史上最全互联网Linux工作规划!十分钟找到linux运维工程师职业方向!

    首先祝贺你选择学习Linux,你可能即将踏上Linux的工作之旅,出发之前,让我带你来看一看关于Linux和Linux运维的一切. Linux因其高效率.易于裁剪.应用广等优势,成为了当今中高端服务器 ...

  9. Linux运维工程师学习大纲

    linux运维课程大纲: Linux运维: Linux系统管理: Linux服务及安全管理: httpd,lamp,lnmp cache:memcached,varnish DB:mysql(mari ...

  10. Linux运维的第一周总结

    这个阶段主要学习 Linux 运维技术,包括 Linux 基本操作.Bash 编程.应用服务部署.数据库服务部署.日志管理.系统监控等. 第1周: Linux基础本周学习 Linux 基本操作.用户与 ...

随机推荐

  1. 架构-数据库访问-SQL语言进行连接数据库服务器-DAO:DAO

    ylbtech-架构-数据库访问-SQL语言进行连接数据库服务器-DAO:DAO DAO(Data Access Object) 数据访问对象是一个面向对象的数据库接口,它显露了 Microsoft ...

  2. FOUC(Flash Of Unstyled Content)文档样式闪烁

    今天看面试题看到了这个新名词..我以前是没有发现过这种状况,应该是我一直都是将加载 CSS 的 link 标签写到 head 里的缘故吧. 什么是文档样式闪烁(Flash Of Unstyled Co ...

  3. python监控ip攻击,服务器防火墙

    '''写一个程序,监控nginx的日志,如果有人攻击就加入黑名单 把ip加入黑名单的策略是,1分钟之内,如果同一个ip请求超过200次,那就加入黑名单''' '''分析:1.打开文件 2.循环读取 3 ...

  4. 从 2017 OpenStack Days China 看国内云计算的发展现状

    目录 目录 China Runs On OpenStack 私有云正式迈入成熟阶段 混合云的前夜已经来临 China Runs On OpenStack OpenStack Days China 作为 ...

  5. clientdataset 读取excel 如果excel 文件不存在的时候 相应的gird 会不显示数据, 鼠标掠过 gird 格子 才会显示数据。 这是一个bug 哈哈

    clientdataset 读取excel   如果excel 文件不存在的时候   相应的gird 会不显示数据, 鼠标掠过 gird 格子 才会显示数据.   这是一个bug 哈哈

  6. 类Thread

    public final void join() throws InterruptedException /* * public final void join() * throws Interrup ...

  7. WordPress致命错误 紧急处理代码

    将下面代码添加到当前主题函数模板 functions.php 中: dadd_filter( 'wp_fatal_error_handler_enabled', '__return_false' );

  8. Websocket如何建立连接

    前面提到,WebSocket复用了HTTP的握手通道.具体指的是,客户端通过HTTP请求与WebSocket服务端协商升级协议.协议升级完成后,后续的数据交换则遵照WebSocket的协议. 1.客户 ...

  9. 20190922 On Java8 第二十一章 数组

    第二十一章 数组 一等对象 对象数组和基元数组在使用上是完全相同的.唯一的不同之处就是对象数组存储的是对象的引用,而基元数组则直接存储基本数据类型的值. 多维数组 Array.deepToString ...

  10. 20190906 On Java8 第十八章 字符串

    第十八章 字符串 +的重载与StringBuilder 用于String的+与+=是Java中仅有的两个重载过的操作符,Java不允许程序员重载任何其他的操作符.编译器自动引入了java.lang.S ...