《调教命令行09》磁盘很廉价,放小电影最合适了
nanshan 2024-11-26 06:59 13 浏览 0 评论
原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。任何不保留此声明的转载都是抄袭。
《调教命令行01》选Linux发行版,就像挑女朋友
《调教命令行02》准备一个冰清玉洁的Linux系统
《调教命令行03》认识一下,感觉不是说来就来的
《调教命令行04》触碰Linux的每个角落(长文)
《调教命令行05》对文件的基本操作
《调教命令行06》条条大道通罗马,罗马罗马你在哪
《调教命令行07》压缩解压(有64KB彩蛋)
《调教命令行08》一文搞懂Linux权限体系
接上文。
下面的场景非常的恐怖,对有些程序员来说可以是一场噩梦。
一大早刚刚去上班,煎饼果子刚啃了一半,几个全副武装的警察就闯进了公司。二话不说控制住了工作人员,并守株待兔的等着鱼儿来上班。
原因就是:公司涉嫌存储和扩散非法文件,需要查封所有的服务器进行彻查。
这些文件,有的简单的放在磁盘上,有的放在文件存储服务器上,有的,被切成了多片放在了不同的廉价机器上。
接下来会发生什么,要看技术人员的水平,但估计结果并不会太好。
在上一小节,我们创建了两个普通用户,这两个用户没什么本事,和默认的用户root比起来,它们的权限就小得多。除了自己目录下的文件,其他的,它几乎都没有权限去修改。
这些文件,肯定是要存在磁盘上的。对磁盘的管理,有非常多的命令,这一小节的内容,对于系统管理员来说,经常使用;但对于开发来说,就要求比较低一些。因为开发只需要知道小电影存在什么地方了,不需要知道小电影是怎么存的。
那定罪的时候,运维和程序员,到底是谁的锅更大一些?其实是个悖论。运维人员在发呆的时候,脑子里回忆起了下面的知识。
1.添加新硬盘
你要是一个系统管理员,甚至是一个上了云的系统管理员,现在买了一块aws的扩展盘,它是不能被使用的。需要经过格式化挂载以后,才能投入生产。
还记得在安装系统的时候么?其中有一步,需要对虚拟机的磁盘,进行划分,我们直接采用默认的方式。不过现在已经改不了了,它已经是过去式了。
为了模拟对磁盘的管理,我们需要首先给虚拟机新加一块虚拟磁盘。首先,使用shutdown -h now命令关闭机器,进行下面的操作。
1、 进入settings选项,然后切换到storage,添加磁盘
2、 点击创建一块磁盘
3、 选择VDI
4、 动态扩容,用多少扩多少
5、 我们创建一块2GB大的,叫做disk2的磁盘
启动机器。远程连接192的ip,别忘了执行dhclient命令。
首先使用fdisk看一下目前的磁盘状况。
root@localhost ~]# fdisk -l
Disk /dev/sda: 8589 MB, 8589934592 bytes, 16777216 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: 0x000c2410
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 16777215 7339008 8e Linux LVM
Disk /dev/sdb: 2147 MB, 2147483648 bytes, 4194304 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/mapper/centos-root: 6652 MB, 6652166144 bytes, 12992512 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/mapper/centos-swap: 859 MB, 859832320 bytes, 1679360 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
从命令的结果,我们看到了有两块磁盘。/dev/sda和/dev/sdb,其中sda已经被分配,已经被我们的文件系统所占用。现在,回忆一下/dev目录的用途,在这个目录下,存放了一些设备文件,假如我们再添加一块磁盘,它的句柄就应该是sdc (sd*)。
在这整块磁盘能够被使用之前,我们需要对它进行三次操作。
- 磁盘分区
- 磁盘格式化
- 磁盘挂载
2.分区
对磁盘分区依然是fdisk命令,以下命令,将进入交互模式。在交互模式中,输入n新建分区。由于我们的磁盘只有2GB,所以只创建一个分区就好。根据向导,一路确定向下,最后,输入w确定写入分区表,同时退出命令交互。
再次执行fdisk -l,可以看到已经多了一块2gb大小的分区。
[root@localhost ~]# fdisk /dev/sdb
...
[root@localhost ~]# fdisk -l
...
Device Boot Start End Blocks Id System
/dev/sdb1 2048 4194303 2096128 83 Linux
...
3.格式化
在命令行,输入mkfs,然后按<TAB>进行补全,将会显示一批命令。
[root@localhost ~]# mkfs.
mkfs.btrfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.minix mkfs.xfs
这批命令,都可以对磁盘进行格式化。目前,最常用的磁盘格式是ext4。但我们并没有找到windows操作系统的FAT以及NTFS等格式,但它们在概念上是等同的。
下面介绍一下Linux下常用的磁盘格式。
- btrfs GPL授权。是为了替换ext系统而发起的。不熟悉,不过多评价。
- cramfs 门针对闪存设计的只读压缩的文件系统,其容量上限为256M,采用zlib压缩,很少用
- ext2 ext的早先版本。
- ext3 ext2的改进。
- ext4 使用最多。如果对其他的不熟悉,老老实实用ext4吧。
- minix 比较古老,也不常用。
- xfs XFS 文件系统是扩展文件系统的一个扩展,是 64 位高性能日志文件系统。centos7.0开始的默认文件系统。
我们就录乡随俗,将磁盘给格式化成xfs。
[root@localhost ~]# mkfs.xfs /dev/sdb1
注意:如果想要把磁盘格式化成fat32的格式,需要安装一个软件。
yum install dosfstools -y
4.挂载
最后一步,是使用mount命令挂载磁盘。我们把它挂载到/data目录。
df命令能够看到系统的磁盘使用状况,参数h是human的意思,以比较容易读的方式展现信息;lsblk则以另一个角度查看系统磁盘挂载情况。
[root@localhost ~]# mkdir /data
[root@localhost ~]# mount /dev/sdb1 /data
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 908M 0 908M 0% /dev
tmpfs 920M 0 920M 0% /dev/shm
tmpfs 920M 8.6M 911M 1% /run
tmpfs 920M 0 920M 0% /sys/fs/cgroup
/dev/mapper/centos-root 6.2G 1.4G 4.9G 22% /
/dev/sda1 1014M 149M 866M 15% /boot
tmpfs 184M 0 184M 0% /run/user/0
/dev/sdb1 2.0G 33M 2.0G 2% /data
root@localhost ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs ac3a3ce8-6ab1-4c0b-91c8-b4e617f0dfb4 /boot
└─sda2 LVM2_member 3GzmOd-TUc1-p2ZN-wT5q-ttky-to9l-PF495o
├─centos-root xfs 9f86f663-060a-4450-90f9-3005ad9c5d92 /
└─centos-swap swap cf8709b0-b0ab-4d44-a23e-ad76f85efad6 [SWAP]
sdb
└─sdb1 xfs 0a7c861c-1a31-45b3-bf37-c72229f35704 /data
为了能够在开机的时候加载磁盘,我们需要修改/etc/fstab文件。这种文件修改的时候一定要小心,否则会造成系统无法启动。
[root@localhost ~]# echo "/dev/sdb1 xfs defaults 0 0" >> /etc/fstab
[root@localhost ~]# cat /etc/fstab
/dev/mapper/centos-root / xfs defaults 0 0
UUID=ac3a3ce8-6ab1-4c0b-91c8-b4e617f0dfb4 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/dev/sdb1 xfs defaults 0 0
5.交换分区
由于内存的容量有限,现在的操作系统,都会使用磁盘模拟一个虚拟内存区域,用于缓冲一些数据。由于磁盘的速度和内存不可同日而语,通常会造成应用程序的卡顿。卡归卡,应用进程却可以因此苟延残喘,续命。
swap分区,即交换区,系统在物理内存不够时,与swap进行交换。即当系统的物理内存不够用时,把硬盘中一部分空间释放出来,以供当前运行的程序使用。当那些程序要运行时,再从swap分区中恢复保存的数据到内存中。
现代互联网公司,一般对接口的响应时间有比较高的要求,swap分区一般是禁用的。关于swap,有下面几个相关的命令。
# 制作交换分区
[root@localhost ~]# mkswap /dev/sdb1
# 禁用所有交换分区
[root@localhost ~]# swapoff -a
# 启用交换分区
[root@localhost ~]# swapon
5.使用dd命令进行备份
下面的命令,将直接备份磁盘A到磁盘B。
# dd if=/dev/sda of=/dev/sdb
在上面的命令中,if代表输入的文件,of代表输出的文件。根据Linux下一切皆文件的原理,这里的文件指的就是设备。
dd命令还可以将整个磁盘打包成一个镜像文件。比如下面的命令。
# dd if=/dev/hda of=~/hdadisk.img
当然,恢复磁盘的时候,也是相当简单的,我们只需要逆向操作就可以了。
# dd if=hdadisk.img of=/dev/hda
End
对于一个以提供非法文件服务的公司来说,最大的投入,就是存储。不过,这些存储都是廉价的,可以使用最初级的硬盘完成任务。
即使是这么便宜的硬盘,也要投入很多才行。这也很可惜,现在公司花了不少钱建设这个体系,还没开始盈利,就被全部端掉了。
知道这个结果的所有人,泪水掉了下来。这是一个三输的局面:
- 公司员工要进去蹲几年才能出来。
- 警察没收了一家亏本的公司,并没什么东西能够充公。
- 那就是你啊。
作者简介:小姐姐味道 (xjjdog),一个不允许程序员走弯路的公众号。聚焦基础架构和Linux。十年架构,日百亿流量,与你探讨高并发世界,给你不一样的味道。我的个人微信xjjdog0,欢迎添加好友,进一步交流。
推荐阅读:
一图解千愁,jvm内存从来没有这么简单过!
失联的架构师,只留下一段脚本
架构师写的BUG,非比寻常
nginx工程师,需要上承天命,下召九幽
实力解剖一枚挖矿脚本,风骚操作亮瞎双眼
又一P1故障,锅比脸圆
传统企业的人才们,先别忙着跳“互联网”!
面试官很牛,逼我尿遁
又一批长事务,P0故障谁来背锅?
一天有24个小时?别开玩笑了!
《程序人生》杀机!
可怕的“浏览器指纹”,让你在互联网上,无处可藏
2w字长文,让你瞬间拥有「调用链」开发经验
996的乐趣,你是无法想象的
作为高级Java,你应该了解的Linux知识(非广告)
必看!java后端,亮剑诛仙(最全知识点)
学完这100多技术,能当架构师么?(非广告)
Linux上,最常用的一批命令解析(10年精选)
数百篇「原创」文章,助你完成技术「体系化」
- 上一篇:Raid卡和磁盘设置
- 下一篇:内外置存储卡要分清
相关推荐
- 如何为MySQL服务器和客户机启用SSL?
-
用户想要与MySQL服务器建立一条安全连接时,常常依赖VPN隧道或SSH隧道。不过,获得MySQL连接的另一个办法是,启用MySQL服务器上的SSL封装器(SSLwrapper)。这每一种方法各有其...
- Mysql5.7 出现大量 unauthenticated user
-
线上环境mysql5.7突然出现大量unauthenticateduser,进mysql,showprocesslist;解决办法有:在/etc/hosts中添加客户端ip,如192.16...
- MySQL 在 Windows 系统下的安装(mysql安装教程windows)
-
更多技术文章MySQL在Windows系统下的安装1.下载mysql和Framework链接链接:百度网盘请输入提取码提取码:6w3p双击mysql-installer-communit...
- MySql5.7.21.zip绿色版安装(mysql数据库绿色版安装)
-
1、去网上下载满足系统要求的版本(mysql-5.7.21-winx64.zip)2、直接解压3、mysql的初始化(1)以管理员身份运行cmd,在mysql中的bin目录下shift+右键-在...
- MySQL(8.0)中文全文检索 (亲测有效)
-
在一堆文字中找到含有关键字的应用。当然也可以用以下语句实现:SELECT*FROM<表名>WHERE<字段名>like‘%ABC%’但是它的效率太低,是全盘扫描。...
- 新手教程,Linux系统下MySQL的安装
-
看了两三个教程。终于在哔哩哔哩找到一个简单高效的教程,成功安装,up主名叫bili逍遥bili,感兴趣可以去看看。下面这个是我总结的安装方法环境:CentOS764位1.下载安装包,个人觉得在...
- 麒麟服务器操作系统安装 MySQL 8 实战指南
-
原文连接:「链接」Hello,大家好啊,今天给大家带来一篇麒麟服务器操作系统上安装MySQL8的文章,欢迎大家分享点赞,点个在看和关注吧!MySQL作为主流开源数据库之一,被广泛应用于各种业务...
- 用Python玩转MySQL的全攻略,从环境搭建到项目实战全解析
-
这是一篇关于“MySQL数据库入门实战-Python版”的教程,结合了案例实战分析,帮助初学者快速掌握如何使用Python操作MySQL数据库。一、环境准备1.安装Python访问Pytho...
- 安装MySQL(中标麒麟 安装mysql)
-
安装MySQL注意:一定要用root用户操作如下步骤;先卸载MySQL再安装1.安装包准备(1)查看MySQL是否安装rpm-qa|grepmysql(2)如果安装了MySQL,就先卸载rpm-...
- Mysql最全笔记,快速入门,干货满满,爆肝
-
目录一、MySQL的重要性二、MySQL介绍三、软件的服务架构四、MySQL的安装五、SQL语句六、数据库相关(DDL)七、表相关八、DML相关(表中数据)九、DQL(重点)十、数据完...
- MAC电脑安装MySQL操作步骤(mac安装mysqldb)
-
1、在官网下载MySQL:https://dev.mysql.com/downloads/mysql/根据自己的macOS版本,选择适配的MySQL版本根据自己需求选择相应的安装包,我这里选择macO...
- mysql主从(mysql主从切换)
-
1、本章面试题什么是mysql主从,主从有什么好处什么是读写分离,有什么好处,使用mycat如何实现2、知识点2.1、课程回顾dubboORM->MVC->RPC->SOApro...
- 【linux学习】以MySQL为例,带你了解数据库
-
做运维的小伙伴在日常工作中难免需要接触到数据库,不管是MySQL,mariadb,达梦还是瀚高等其实命令都差不多,下面我就以MySQL为例带大家一起来了解下数据库。有兴趣的小伙伴不妨评论区一起交流下...
- 玩玩WordPress - 环境简介(0)(玩玩网络科技有限公司)
-
简介提到开源博客系统,一般都会直接想到WordPress!WordPress是使用PHP开发的,数据库使用的是MySQL,一般会在Linux上运行,Nginx作为前端。这时候就需要有一套LNMP(Li...
- 服务器常用端口都有哪些?(服务器端使用的端口号范围)
-
下面为大家介绍一下,服务器常用的一些默认端口,以及他们的作用: 21:FTP服务所开放的端口,用于上传、下载文件。 22:SSH端口,用于通过命令行模式远程连接Linux服务器或vps。 23:...
你 发表评论:
欢迎- 一周热门
-
-
极空间如何无损移机,新Z4 Pro又有哪些升级?极空间Z4 Pro深度体验
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
10个免费文件中转服务站,分享文件简单方便,你知道几个?
-
日本海上自卫队的军衔制度(日本海上自卫队的军衔制度是什么)
-
UOS服务器操作系统防火墙设置(uos20关闭防火墙)
-
【系统配置】信创终端挂载NAS共享全攻略:一步到位!
-
[常用工具] OpenCV_contrib库在windows下编译使用指南
-
手机如何设置与显示准确时间的详细指南
-
如何修复用户配置文件服务在 WINDOWS 上登录失败的问题
-
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)