3.25-3.29课堂笔记

3月25日
定时任务要领:

* * * * * /bin/sh /server/scripts/bak.sh &>dev/null

如何调试定时任务?

1查看错误日志

/var/log/cron

学会最小化排除:

先清空,>/var/log/cron

然后再测试和观察

2增加执行任务频率调试任务

把频率调快

3把定时任务执行时间比当前时间拖后5分钟

4调整系统时间

5通过脚本日志调试定时任务

定时任务输出

* * * * * /bin/sh /server/scripts/bak.sh&>/tmp/bak.log

脚本输出

tar zcvf oldboy.tar.gz./data >./tmp/tar.log

注意点:有时候程序只能执行一次,一定要在测试环境测试好,然后直接复制到正式

常见企业故障案例

磁盘满的报错

原因往往是inode被占满了。因为定时任务没有加到&>dev/null,定时任务执行的时候把输出给系统root发邮件

程序可以手动执行,放定时任务里不执行

定时任务在执行的时候,多数情况没办法加载环境变量,特别是/etc/profile,登录后怎么操作都对,但就是放到定时任务里不行。

命令行:bash登录方式

1手工登录后,加载所有环境变量

2定时任务执行脚本属于非登录状态

登录系统后,命令行出现如下提示:为什么?

[root@oldboyedu/home/chenglong1]# su - chenglong1

-sh-4.2$

解答:

用户的环境变量缺失导致的。

执行如下命令解决添加用户要用的文件

-sh-4.2$ cp/etc/skel/.bash* .

-sh-4.2$ source./.bash_profile ./.bashrc

export PS1='[[\e[34;1m]\u@[\e[0m][\e[32;1m]\H[\e[0m][\e[31;1m]\w[\e[0m]]$'

用户管理知识

用户相关文件:

/etc/passwd 用户所在文件

/etc/shadow 密码所在文件

useradd oldboy 添加用户实际上就是修改上述两个文件

passwd oldboy 改密码实际上就是密码所在文件

用户组相关文件:

/etc/group 用户组所在文件

/etc/gshadow 用户组密码所在文件(废弃状态)

useradd oldboy 添加用户实际上也会修改上述两个文件(因为要创建同名的用户组)

groupadd sa 添加用户组就是修改上述两个文件

md5sum 给文件设置指纹(计算和检查MD5数字信息)

用户密码所在文件

/etc/passwd文件:

linux是命令行管理,平时输入ls,cp,谁识别帮我们把我们想要的要的输出,这个工具就是bash(命令行解释器)

用户登录:输入命令,希望哪个解释器解释(结尾列决定)

/etc/passwd:bingbing:x:1004:1006::/home/bingbing:/bin/bash

centos7默认解释器就是bash

/etc/default/useradd文件 useradd命令的配置文件

bash是sh的扩展,sh是bash的软连接。

[root@oldboyedu~]# tail -1 /etc/shadow

shadow文件各字段含义

bingbing 用户

:!! 密码

:17980 最近更改密码的时间

:0 禁止修改密码的天数

:99999 用户必须更改口令的天数

:7 警告更改密码的期限

: 在用户密码过期之后到禁用账户的天数

: 从1970年1月1日起,到用户被禁用的天数

: 保留

/etc/default/useradd文件 useradd命令的配置文件

默认shell就是/bin/bash

为什么默认的家目录在home下

为什么默认的家目录/home/用户名下面有很多隐藏文件,从哪来的。

就是/etc/default/useradd文件配置的。

文件的修改方法

useradd -D -s /bin/sh

/etc/skel目录,创建用户默认就会i把此目录下的文件拷贝到/home/用户名下

/etc/skel 为每个用户提供环境变量的目录

添加用户要用的文件

/etc/login.defs /etc/skel /etc/default/useradd

编辑/etc/passwd,通过注释来删除。

不交互设置密码:

方法1:

[root@oldboyedu~]# echo 123456|passwd --stdin oldgirl

Changing passwordfor user oldgirl.

passwd: allauthentication tokens updated successfully.

方法2:

[root@oldboyedu~]# echo 123456 >pass

[root@oldboyedu~]# cat pass

123456

[root@oldboyedu~]# passwd --stdin oldgirl

Changing passwordfor user oldgirl.

passwd: allauthentication tokens updated successfully.

[root@oldboyedu~]# tail -4 /etc/passwd|awk -F ":" '{print $1":oldboy"}'>user.log

[root@oldboyedu~]# cat user.log

gongli1:oldboy

gongli2:oldboy

chenglong1:oldboy

zongsheng:oldboy

chpasswd对密码文件的要求是上述user.log

方法1:

[root@oldboyedu~]# chpasswd

方法2:

[root@oldboyedu~]# tail -4 /etc/passwd|awk -F ":" '{print$1":oldboy"}'|chpasswd

3月26日
[oldboy@oldboyedu ~]$ ls /root
ls: cannot open directory /root: Permission denied
完成上面的动作。
给oldboy用户,针对ls设置权限。
visudo进入编辑状态,100G
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
oldboy ALL=(ALL) /usr/bin/ls,/bin/cp #<===增加一行
用户 主机=(角色) 命令
注意:
1、路径要全路径:
which cp查
2、不要vim /etc/sudoers编辑,如果非要用编辑完visudo -c检查语法
oldboy是管理员,并且不要密码:
oldboy ALL=(ALL) NOPASSWD: ALL
登录后切到root运行。
[oldboy@oldboyedu ~]$ sudo su - root
Last login: Tue Mar 26 10:32:57 CST 2019 on pts/3
[root@oldboyedu ~]#
为了安全禁止root远程连接linux。
工作中如何登录?
使用普通用户登录然后利用sudo提权到root。
Wecomle to oldboy training 58期。
[oldboy@oldboyedu ~]$ whoamioldboy
[oldboy@oldboyedu ~]$ sudo ls /root
a.txt c.txt data1 etc oldboy oldboy_b oldboy_soft_link pass test.txt user.log
b.txt d d.txt grep.txt oldboy_1.txt oldboyedu.txt oldboy.txt test test.txt.ori
[oldboy@oldboyedu ~]$
[oldboy@oldboyedu ~]$ sudo su -
Last login: Tue Mar 26 11:42:09 CST 2019 on pts/0
[root@oldboyedu ~]#
[root@oldboyedu ~]# su - oldboy
Last login: Tue Mar 26 10:44:08 CST 2019 on pts/3
[oldboy@oldboyedu ~]$ ls /root
ls: cannot open directory /root: Permission denied
[oldboy@oldboyedu ~]$ sudo -l
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type. #3) With great power comes great responsibility.
[sudo] password for oldboy:
Matching Defaults entries for oldboy on oldboyedu:
User oldboy may run the following commands on oldboyedu:
(ALL) /bin/ls
[oldboy@oldboyedu ~]$ sudo ls /root
a.txt c.txt data1 etc oldboy oldboy_b oldboy_soft_link pass test.txt user.log
b.txt d d.txt grep.txt oldboy_1.txt oldboyedu.txt oldboy.txt test test.txt.ori
[oldboy@oldboyedu ~]$ ls /root
ls: cannot open directory /root: Permission denied
[oldboy@oldboyedu ~]$

3月27日
早期磁盘:与现在磁盘做比较

image

磁盘知识的体系结构分六个层次

image

磁盘的外部结构:

磁盘、盘片、磁头、磁盘接口

磁盘接口的类型:

SAS、SATA、SCSI、PCI-E

磁盘的分类:

企业级SAS硬盘 :

容量尽量不要选最大

尽量分成4个盘来选

SATA硬盘:

SSD固态电子盘:

企业生产普及及程度SAS>SSD>SATA

单位容量对比性能和价格SSD>SAS>SATA

单位价格购买磁盘容量SATA>SAS>SSD

image

固态磁盘缺点

写入寿命有限

数据难以恢复

image

磁盘的内部结构组成

磁头:用来写入和读取数据的

磁道:

扇区:磁道上最小的单位 512字节

柱面:

单元块:

image

命令 echo + bc awk

都可当做来计算算器使用

磁盘容量大小的计算方式:

512字节*每磁道扇区数=磁道大小

磁道大小*磁道数=盘面大小

盘面大小*磁头数=磁盘容量

磁盘容量=盘面大小*磁头数

磁盘容量=磁道大小*磁道数*磁头数

磁盘容量=512字节*每磁道扇区数*磁道数*磁头数

磁盘容量=柱面大小*柱面数(磁道数)

柱面大小=磁道大小*磁头数

磁道大小=512字节*每磁道扇区数

磁盘容量=512字节*每磁道扇区数*柱面数(磁道数)*磁头数

磁盘容量=512字节*每磁道扇区数*磁道数*磁头数

磁盘容量=512字节*每磁道扇区数*柱面数(磁道数)*磁头数

image

磁盘读写是按柱面来读写的

image

3月28日
raid是廉价冗余磁盘阵列,有时也简称磁盘阵列

raid级别 raid0 raid1 raid5 raid10

image

常见raid分两类

软raid系统层面实现的,性能差

硬raid,硬件层面实现的,性能好

主板板载raid:功能弱,0,1

独立raid卡:功能强,0,1,5,10……工作选择

LVM全称(Logic Volume Management (Manager))逻辑卷管理,它的最大用途是可以【灵活的管理磁盘的容量】,让磁盘分区可以随意放大或缩小,便于更好的应用磁盘的剩余空间,如果过于强调性能与备份,那么还是应该使用RAID功能,而不是LVM。

LVM是软件层面实现的,性能太低,性能降低5-10%

买服务器插满磁盘,分区规划好,永远都不需要LVM

raid和LVM区别

为什么需要raid?

RAID1又称为Mirror或Mirroring(镜像),

它的宗旨是最大限度的保证用户数据的可用性和可修复性。

RAID1的操作方式是把用户写入一个磁盘的数据百分之百地自动复制到另外

一个磁盘上,从而实现存储双份的数据。

raid5 中庸

raid5是一种是一种存储性能、数据安全和存储成本兼顾的存储解决方案。

raid5的特点

RAID5需要三块或以上的物理磁盘,可以提供热备盘实现故障的恢复;

采用【奇偶校验】,可靠性强,且只有同时损坏两块硬盘时数据才会完全损坏,

只损坏一块硬盘时,系统会根据存储的奇偶校验位重建数据,临时提供服务;此时如果有热备盘,系统还会自动在热备盘上重建故障磁盘上的数据;

(1)什么是分区?

磁盘分区就相当于给磁盘打隔断。

(2)磁盘和分区在Linux里的命名。

IDE /dev/hda hdb

SCSI sda sdb

分区数字表示:sda1 sda2 sda3

(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)存放任意普通数据

磁盘分区注意事项要点

一块硬盘的分区方式只能为如下组合之一:

(1)任意多个主分区,但要求1≤主分区数量≤4。

例如:一个硬盘可以分为4个主分区3个主分区2个主分区或1个主分区。

(2)扩展分区可以和主分区组合,但要求2≤(主分区+扩展分区)数量≤4)。

例如:3个主分区+1个扩展分区或2个主分区+1个扩展分区或1个主分区+1个扩展分区。

当总分区的数量大于4个的时候,必须提前分一个扩展分区,扩展分区最多只能有一个。

(3)如果要分成四个磁盘分区的话,那么最多就是可以:

P + P + P + P

P + P + P + E

磁盘分区工作原理

磁盘分区按柱面分区

磁盘分区登记的地点:磁盘分区表

磁盘分区表示存放结果信息的

磁盘分区表位置,0磁道 0磁头1扇区(512字节)

占用1扇区的前446字节(系统引导信息的)后面的64 字节(分区表)剩余2个字节分区结束标志

磁盘分区表的容量是有限的,64字节,一个分区固定占16字节

61/16=4分区(主分区+扩展分区)

磁盘分区实战

磁盘分区关键就是改64字节的分区而已

磁盘分区常用命令fdisk,修改MBR分区表,MBR格式。

缺陷,被修改的磁盘大小不能大于2T.

磁盘分区其他命令parted,gpt分区格式,既能修改小于2T也能修改大于2T

小于2T就用fdisk

大于2T就用parted

fdisk -l 查看磁盘分区大小

fdisk /dev/sdb #<==开始给sdb磁盘分区

m #<==查看分区的帮助信息。

a toggle a bootable flag

b edit bsd disklabel

c toggle the dos compatibility flag

d delete a partition #<==删除一个分区。

g create a new empty GPT partition table

G create an IRIX (SGI) partition table

l list known partition types

m print this menu #<==查看分区的帮助信息。

n add a new partition #<==添加一个新分区。

o create a new empty DOS partition table

p print the partition table #<==查看分区结果信息。

q quit without saving changes #<==退出不保存。

s create a new empty Sun disklabel

t change a partition's system id

u change display/entry units

v verify the partition table

w write table to disk and exit #<==保存并退出。

x extra functionality (experts only)

3月29日
磁盘分区
fdisk 磁盘分区 容量<2T
fdisk /dev/sdb 给sdb磁盘分区
fdisk退出分区时,需要保存。
partprobe /dev/sdb 使保存的分区生效
fdisk分区时 删除分区用d
parted命令磁盘分区 容量>2T用parted
parted /dev/sdb #<==交互式分区模式
mklabel gpt #<==修改分区格式为gpt
mkpart primary 0 4800000 #<==创建一个4.8T主分区
mkpart primary 4800001 5800001 #<==创建一个1T主分区
mkpart primary 5800002 5804098 #<==创建一个4G主分区
parted分区时自动保存
parted分区时 删除分区用rm
parted mklabel msdos 改回 dos格式
============一键分区==============
parted9 /dev/sdb mklabel gpt
parted /dev/sdb mkpart primary 0 480 I
parted /dev/sdb mkpart primary 481 580 I
parted /dev/sdb p
fdisk分区与parted分区不要混合使用
fdisk分区用dos格式
parted分区用gpt格式
问题需求:刚买的服务器 4块2T 刚买,要做RAID5,装系统怎么搞定?方法
1:Raid制作视频(李导发的),Raid里可以支持RAID5后,6T,允许你把6T分成虚拟磁盘。
200G分成第一个虚拟磁盘剩下不分留着装系统后(parted)。
方法2:装系统过程中有这个功能,系统镜像支持GPT格式分区,很隐蔽。
方法3:引导工具,进入然后用parted分区。

文件系统:
1.什么是文件系统?
计算机存储和组织数据的方法和机制。
2.为什么需要文件系统?
磁盘、物理介质、磁粒子物理元素。硬件需要软件驱动使用,硬盘需要文件系统驱动文件系统实现通过磁盘管理规划、存取数据。
3.文件系统有哪些种类?
windows:ntfs、fat32、msdos
linux:ext2、ext3(c5)、ext4(c6)、xfs(c7)、btrfs
4.创建文件系统实践:
5.文件系统原理(ext文件系统)、文件系统特点
6.企业中如何选择文件系统?
7.如何优化文件系统?
dd 创建一个虚拟文件系统
dd if=/dev/sda of=/dev/sdc bs=512 count=10240
来源 生成文件系统 block大小 块个数
mkfs -t ext4 /dev/sdb1 #格式化ext4文件系统
mkfs.ext4其实关键下就是生成一定数量的inode和block
mount /dev/sdb1 /mnt #临时挂载到/mnt
df -h #查看挂载结果
cat /proc/mounts #查看挂载结果
umount /mnt 卸载挂载的设备
umount -lf /mnt #<==强制卸载
#没有格式化没法挂载mkfs.xfs /dev/sdb2 #格式化xfs文件系统
如何开机自动挂载?
/etc/fstab 开机自动挂载
UUID=3a3a295f-88f8-456d-94dc-1a3eeb517c02 / vxfs defaults 0 0
设备 挂载点 文件系统类型 默认挂载选项 是否备份 是否开机磁盘检查
mount -t xfs /dev/sdb2 /opt 指定xfs文件类型挂载
tail -1 /etc/fstab
mount -a 可以将fstab里的信息挂载。
查看文件系统内部细节
dumpe2fs /dev/sdb1 #查看ext文件系统内部细节
dumpe2fs /dev/sdb1|egrep -i "size"
fsck 磁盘检查和修复
1正常的磁盘不能操作
2卸载挂载点再操作
文件删除原理
no space left on device.
swap作用,内存不够时候,用来充当内存,一般内存1.5倍。大于8G给8G
将来JAVA服务,内存泄漏。。。
swap就会占用。。。操作系统性能下降
[root@oldboyedu ~]# free -m
total used free shared buff/cache available
Mem: 1980 143 1689 9 146 1671
Swap: 767 0 767
增加swap分区 100M

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

推荐阅读更多精彩内容