第三周筆記

DAY18


定時任務(wù)要領(lǐng):

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

如何調(diào)試定時任務(wù)?

1纬黎、查看錯誤日志*****

/var/log/cron

學(xué)會最小化排除:

先清空磷雇,>/var/log/cron

然后在測試和觀察。

2、增加執(zhí)行任務(wù)頻率調(diào)試任務(wù)? ? ? *****

把頻率調(diào)快陕贮。

3、把定時任務(wù)執(zhí)行時間比當(dāng)前時間拖后5分鐘

00 03執(zhí)行潘飘,當(dāng)前5:00肮之,咱們就把時間調(diào)整 05 05,有個5分鐘提前量。

4卜录、調(diào)整系統(tǒng)時間(測試環(huán)境還湊合)否則會造成別的任務(wù)混亂

00 03執(zhí)行戈擒,把系統(tǒng)時間調(diào)整到2:55。

5艰毒、通過腳本日志輸出調(diào)試定時任務(wù)

定時任務(wù)輸出

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

腳本輸出:

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

注意點:

有時候程序只能執(zhí)行一次筐高。一定要在測試環(huán)境測試好,然后直接復(fù)制到正式丑瞧。

代碼發(fā)布流程:

辦公室測試環(huán)境===>IDC機房測試環(huán)境===>IDC機房正式環(huán)境

防止在正式環(huán)境發(fā)生錯誤柑土,從而影響用戶體驗,業(yè)務(wù)穩(wěn)定嗦篱。

企業(yè)故障案例:No space left on device常見企業(yè)故障案例

磁盤滿的報錯冰单,原因往往是inode被占滿了。

df -i

因為定時任務(wù)沒有加&>/dev/null灸促,定時任務(wù)執(zhí)行的時候把輸出給系統(tǒng)root發(fā)郵件诫欠。

郵件服務(wù)器postfix服務(wù)默認(rèn)不開,這些給系統(tǒng)發(fā)的郵件就會堆在臨時目錄(大量小文件存在)

/var/spool/clientmqueue/? ? ? 6

/var/spool/postfix/maildrop/? 7

企業(yè)故障案例:程序通過手動可以執(zhí)行浴栽,放定時任務(wù)里不執(zhí)行荒叼。

export變量生產(chǎn)案例

定時任務(wù)在執(zhí)行腳本的時候,多數(shù)情況沒辦法加載環(huán)境變量典鸡,特別是/etc/profile被廓。

登錄后怎么操作都對,但是就是放到定時任務(wù)不行萝玷。

命令行:bash登錄方式

1.手工登錄后嫁乘,加載所有環(huán)境變量(~/.bash_profile,~/.bash_rc,/etc/profile,/etc/bashrc)

2.定時任務(wù)執(zhí)行腳本屬于非登錄狀態(tài)(/etc/bashrc)昆婿。

實踐檢驗,定時任務(wù)能否自動加載/etc/bashrc和/etc/profile文件蜓斧。

所有運維都會把變量放到此文件/etc/profile仓蛆,把這個文件里的變量定義

在執(zhí)行的腳本中 重新定義。

具體為crond執(zhí)行Shell時只能識別為數(shù)不多的系統(tǒng)環(huán)境變量挎春,普通環(huán)境變量一般是無法識別的看疙,如果在編寫的腳本中需要使用變量,最好使用export重新聲明下該變量直奋,以確保腳本正確執(zhí)行能庆。以后要將其作為一個開發(fā)基本規(guī)范寫上。

用戶管理知識:

用戶相關(guān)文件:

/etc/passwd 用戶所在文件

/etc/shadow 密碼所在文件

useradd oldboy 添加用戶實際上就是修改上述兩個文件

passwd oldboy? 改密碼實際上就是修改密碼所在文件

用戶組相關(guān)文件:

/etc/group? ? 用戶組所在文件

/etc/gshadow? 用戶組密碼所在文件(廢棄狀態(tài))

useradd oldboy 添加用戶實際上也會修改上述兩個文件(因為要創(chuàng)建同名的用戶組)

groupadd sa 添加用戶組就是修改上述兩個文件

md5sum 給文件設(shè)置指紋(計算和檢查MD5數(shù)字信息)

/etc/passwd文件:

Linux是命令行管理脚线,平時輸入ls,cp搁胆,誰識別,幫我們把我們想要的輸出呢邮绿?

這個工具就是bash(命令行解釋器)

用戶登錄:輸入命令丰涉,希望哪個解釋器解釋(結(jié)尾列決定)

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

CentOS7默認(rèn)解釋器是bash。

/etc/passwd里的解釋器

[root@oldboyedu ~]# cat /etc/shells

/bin/sh

/bin/bash

/usr/bin/sh

/usr/bin/bash

bash是sh的擴展斯碌,sh是bash的軟連接一死。

[root@oldboyedu ~]# ls -l /bin/sh

lrwxrwxrwx. 1 root root 4 Mar? 4 11:15 /bin/sh -> bash

/bin/bash? ? /server/scripts/bak.sh

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

bingbing? 用戶

:!!? ? ? 密碼

:17980? ? 最近更改密碼的時間

:0? ? ? ? 禁止修改密碼的天數(shù)

:99999? ? 用戶必須更改口令的天數(shù)

:7? ? ? ? 警告更改密碼的期限

: ? 在用戶密碼過期之后到禁用賬戶的天數(shù)

: ? 從1970年1月1日起,到用戶被禁用的天數(shù)

: ? 保留

/etc/group

/etc/gshadow

[root@oldboyedu ~]# useradd gongli -u 888 -s /sbin/nologin -M

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

gongli:x:888:1007::/home/gongli:/sbin/nologin

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

[root@oldboyedu ~]# useradd gongli1 -c "beautify woman" -d /tmp -e '2020/10/20'

useradd: warning: the home directory already exists.

Not copying any file from skel directory into it.

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

gongli1:x:1005:1008:beautify woman:/tmp:/bin/bash

[root@oldboyedu ~]# chage -l gongli1

Last password change : Mar 25, 2019

Password expires : never

Password inactive : never

Account expires : Oct 20, 2020? =================

Minimum number of days between password change : 0

Maximum number of days between password change : 99999

Number of days of warning before password expires : 7

給開發(fā)等人員添加用戶傻唾,盡量給截止時間投慈。

[root@oldboyedu ~]# useradd gongli2 -g incahome

[root@oldboyedu ~]# id gongli2

uid=1006(gongli2) gid=1004(incahome) groups=1004(incahome)

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

默認(rèn)shell就是/bin/bash

為什么默認(rèn)的家目錄在home下

為什么默認(rèn)的家目錄/home/用戶名下面有很多隱藏文件,從哪來的冠骄。

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

[root@oldboyedu ~]# cat /etc/default/useradd

# useradd defaults file

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

CREATE_MAIL_SPOOL=yes

修改方法:

useradd -D -s /bin/sh? 相當(dāng)于vim編輯/etc/default/useradd文件。

[root@oldboyedu ~]# useradd -D -s /bin/sh

You have new mail in /var/spool/mail/root

[root@oldboyedu ~]# cat /etc/default/useradd

# useradd defaults file

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/sh

SKEL=/etc/skel

CREATE_MAIL_SPOOL=yes

[root@oldboyedu ~]# useradd chenglong1

You have new mail in /var/spool/mail/root

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

chenglong1:x:1007:1009::/home/chenglong1:/bin/sh

[root@oldboyedu ~]# chage -l chenglong1

Last password change : Mar 25, 2019

Password expires : never

Password inactive : never

Account expires : Oct 21, 2020

Minimum number of days between password change : 0

Maximum number of days between password change : 99999

Number of days of warning before password expires : 7

/etc/skel目錄凛辣,創(chuàng)建用戶默認(rèn)就會把此目錄下的文件拷貝到/home/用戶名下抱既。

/etc/skel 為每個用戶提供用戶環(huán)境變量的目錄。

[root@oldboyedu ~]# ls /etc/skel -A

.bash_logout? .bash_profile? .bashrc

===================================================

.bash_logout? .bash_profile? .bashrc 用戶環(huán)境變量

登錄系統(tǒng)后扁誓,命令行出現(xiàn)如下提示:為什么防泵?

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

-sh-4.2$

-sh-4.2$

解答:用戶的環(huán)境變量缺失導(dǎo)致的。

執(zhí)行如下命令解決

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

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

[chenglong1@oldboyedu ~]$

[chenglong1@oldboyedu ~]$

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

[chenglong1@oldboyedu ~]$

添加用戶要用的文件

/etc/login.defs 了解

添加用戶要用的文件

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

編輯/etc/passwd,通過注釋來刪除蝗敢。

#chenglong1:x:1007:1009::/home/chenglong1:/bin/sh

"/etc/passwd" 30L, 1362C written? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

[root@oldboyedu ~]# su - chenglong1

su: user chenglong1 does not exist

[root@oldboyedu ~]# useradd -u 9999 -s /bin/sh -M -g sa -c "老男孩" -e "2019/5/1" zongsheng

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

zongsheng:x:9999:1003:老男孩:/home/zongsheng:/bin/sh

[root@oldboyedu ~]# id zongsheng

uid=9999(zongsheng) gid=1003(sa) groups=1003(sa)

[root@oldboyedu ~]# chage -l zongsheng

Last password change : Mar 25, 2019

Password expires : never

Password inactive : never

Account expires : May 01, 2019

Minimum number of days between password change : 0

Maximum number of days between password change : 99999

Number of days of warning before password expires : 7

usermod -u 8888 -s /bin/bash -m /home/zongsheng -g incahome -c "男孩" -e "2020/5/1"

[root@oldboyedu ~]# usermod -u 8888 -s /bin/bash -g incahome -c "男孩" -e "2020/5/1" zongsheng

[root@oldboyedu ~]# chage -l zongsheng

Last password change : Mar 25, 2019

Password expires : never

Password inactive : never

Account expires : May 01, 2020

Minimum number of days between password change : 0

Maximum number of days between password change : 99999

Number of days of warning before password expires : 7

[root@oldboyedu ~]# id zongsheng

uid=8888(zongsheng) gid=1004(incahome) groups=1004(incahome)

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

zongsheng:x:8888:1004:男孩:/home/zongsheng:/bin/bash

You have new mail in /var/spool/mail/root

usermod -u 8888 -s /bin/bash -g incahome -c "男孩" -e "2020/5/1" zongsheng

usermod -m /home/zongsheng zongsheng

不交互設(shè)置密碼:

方法1:

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

Changing password for user oldgirl.

passwd: all authentication tokens updated successfully.

方法2:

[root@oldboyedu ~]# echo 123456 >pass

[root@oldboyedu ~]# cat pass

123456

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

Changing password for user oldgirl.

passwd: all authentication 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<user.log

方法2:

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

批量創(chuàng)建10個用戶捷泞,oldboy01-oldboy10,請設(shè)置和用戶名相同的密碼。

DAY 19

范例14-17:創(chuàng)建新用戶range,要求該用戶7天內(nèi)不能更改密碼寿谴,

60天以后必須修改密碼锁右,過期前10天通知用戶,過期后30天后禁止用戶登錄。

chage -m7 -M60 -W10 -I30 oldboy

聯(lián)系英文:

Options:

? -d, --lastday LAST_DAY? ? ? ? set date of last password change to LAST_DAY

? -E, --expiredate EXPIRE_DATE? set account expiration date to EXPIRE_DATE

? -h, --help? ? ? ? ? ? ? ? ? ? display this help message and exit

? -I, --inactive INACTIVE? ? ? set password inactive after expiration

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? to INACTIVE

? -l, --list? ? ? ? ? ? ? ? ? ? show account aging information

? -m, --mindays MIN_DAYS? ? ? ? set minimum number of days before password

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? change to MIN_DAYS

? -M, --maxdays MAX_DAYS? ? ? ? set maximim number of days before password

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? change to MAX_DAYS

? -R, --root CHROOT_DIR? ? ? ? directory to chroot into

? -W, --warndays WARN_DAYS? ? ? set expiration warning days to WARN_DAYS


[root@oldboyedu ~]# chage -l oldboy

Last password change : Oct 07, 2020

Password expires : never

Password inactive : never

Account expires : Oct 01, 2020

Minimum number of days between password change : 0

Maximum number of days between password change : 99999

Number of days of warning before password expires : 7

You have new mail in /var/spool/mail/root

[root@oldboyedu ~]# chage -m7 -M60 -W10 -I30 oldboy

[root@oldboyedu ~]# chage -l oldboy

Last password change : Oct 07, 2020

Password expires : Dec 06, 2020

Password inactive : Jan 05, 2021

Account expires : Oct 01, 2020

Minimum number of days between password change : 7

Maximum number of days between password change : 60

Number of days of warning before password expires : 10

passwd -n70 -x600 -w100 -i300 oldboy

[root@oldboyedu ~]# passwd -n70 -x600 -w100 -i300 oldboy

Adjusting aging data for user oldboy.

passwd: Success

You have new mail in /var/spool/mail/root

[root@oldboyedu ~]# chage -l oldboy

Last password change : Oct 07, 2020

Password expires : May 30, 2022

Password inactive : Mar 26, 2023

Account expires : Oct 01, 2020

Minimum number of days between password change : 70

Maximum number of days between password change : 600

Number of days of warning before password expires : 100

-n, --minimum DAYS

? ? ? ? ? ? ? This? will? set? the? minimum password lifetime, in days, if the user's account supports password life‐

? ? ? ? ? ? ? times.? Available to root only.

-x, --maximum DAYS

? ? ? ? ? ? ? This will set the maximum password lifetime, in days, if the user's? account? supports? password? life‐

? ? ? ? ? ? ? times.? Available to root only.

-w, --warning DAYS

? ? ? ? ? ? ? This? will? set? the number of days in advance the user will begin receiving warnings that her password

? ? ? ? ? ? ? will expire, if the user's account supports password lifetimes.? Available to root only.

-i, --inactive DAYS

[root@oldboyedu ~]# su - oldboy -c pwd

/home/oldboy

[root@oldboyedu ~]# su - oldboy -c whoami

oldboy

怎么用su咏瑟。

1拂到、先登錄普通用戶,沒事不允許登錄root码泞。

只有執(zhí)行的任務(wù)需要root權(quán)限的時候才允許你登錄root谆焊。

系統(tǒng)維護(hù)通道。

用su管理浦夷,必須知道root密碼,安全隱患辜王。

10個運維劈狐,都得知道root密碼,安全隱患呐馆。

需求:

1肥缔、不用知道root密碼還能管理服務(wù)器。

2汹来、最小化管理服務(wù)器续膳,想關(guān)機,就只給你halt權(quán)限收班。

sudo命令:

可以以最小化的權(quán)限(單個命令)坟岔,執(zhí)行命令時擁有root用戶的權(quán)限

SUID 針對命令,任何用戶執(zhí)行命令都有root身份摔桦。? ? 任何用戶執(zhí)行某個命令:模糊

SUDO 針對用戶社付,給某個用戶以root身份執(zhí)行某個命令。指定用戶執(zhí)行某個命令:具體邻耕。

如何編輯配置sudo鸥咖?

sudo是一個提權(quán)的命令(對應(yīng)權(quán)限通過讀取/etc/sudoers(嚴(yán)格語法)文件實現(xiàn)的)

配置/etc/sudoers可以使用visudo命令,或vim /etc/sudoers(不推薦)

[oldboy@oldboyedu ~]$ ls /root

ls: cannot open directory /root: Permission denied

完成上面的動作兄世。

給oldboy用戶啼辣,針對ls設(shè)置權(quán)限。

visudo進(jìn)入編輯狀態(tài)御滩,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遠(yuǎn)程連接linux钠绍。

工作中如何登錄舆声?使用普通用戶登錄然后利用sudo提權(quán)到root。

Wecomle to oldboy training 58期。

[oldboy@oldboyedu ~]$ whoami

oldboy

[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 ~]$

[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 ~]$

DAY 20

磁盤歷史和內(nèi)外部物理結(jié)構(gòu)介紹

發(fā)展趨勢? ? ? ? ? 解決辦法

體積更小? ? ? ? ? 存儲密度更高

速度更快? ? ? ? ? 讀寫更靈敏的磁頭媳握,主軸轉(zhuǎn)數(shù)更高碱屁,接口更先進(jìn)

容量更大? ? ? ? ? 存儲密度更高,介質(zhì)更好

使用更安全? ? ? ? 數(shù)據(jù)保存技術(shù)

磁盤的接口類型

IDE? SCCSI(這兩個淘汰了)? SATA 光纖FC SAS?

SSD接口有SATA? PCIE M2

SATA接口是SATA

SAS接口是SAS

磁盤選購小結(jié):

線上的業(yè)務(wù)蛾找,用SAS磁盤娩脾。

線下的業(yè)務(wù),用SATA磁盤打毛,磁帶庫

線上高并發(fā)柿赊,小容量的業(yè)務(wù),SSD磁盤

成本控制思想:根據(jù)數(shù)據(jù)的訪問熱度幻枉,智能分析分層存儲碰声。SATA+SSD

SAS:滿足容量的基礎(chǔ)? 性能中等

SATA理由:1.沒錢。 2.數(shù)據(jù)量少熬甫,數(shù)據(jù)不需要給用戶提供服務(wù)胰挑。 3. 用于備份。

容量性價比高椿肩。

SSD

特點:容量小? 價格貴 速度快瞻颂。

名詞

——————————

一個磁盤有多個盤面,盤面上會有一個讀寫磁頭郑象。(磁頭數(shù)=盤片個數(shù)*2)

不同的盤面的磁道被劃分稱為多個扇形區(qū)域贡这,每個區(qū)域就是一個扇區(qū)

磁盤在格式化時被分成許多同心圓,這些同心圓的軌跡叫做磁道 300-1024

不同盤面的相同半徑的磁道厂榛,叫做柱面藕坯。

一個柱面包含多個磁道,一個磁道包含多個扇區(qū)

數(shù)據(jù)信息記錄可表示為:某磁頭噪沙,某磁道炼彪,某扇面。

磁道:看起來是一個平面圓周形

扇區(qū):不同的磁道被直線分為多個弧形正歼,看起來就是圓弧或扇形 512字節(jié)

柱面:看起來是一個圓柱體

三維位置

————————————

0磁頭0磁道1扇區(qū)? 系統(tǒng)位置

容量計算

——————————————

磁盤大小·

512字節(jié)*每磁道扇區(qū)數(shù)=磁道大小

磁道大小*磁道數(shù)=盤面大小

盤面大小*磁頭數(shù)=磁盤容量

磁盤容量=盤面大小*磁頭數(shù)*磁道數(shù)=512*磁道數(shù)*每磁道扇區(qū)數(shù)

柱面大小=磁道大小*磁頭數(shù)

磁道大小=512*每磁道扇區(qū)數(shù)

磁盤容量=512字節(jié)*每磁道扇區(qū)數(shù)*柱面數(shù)*磁頭數(shù)

讀寫數(shù)據(jù)原理

——————————————

1.讀取同一個盤面的某一磁道

2.若仍未讀取完辐马,切換磁頭,讀取下一個盤面的相同半徑的磁道

3.未仍讀取完局义,切換磁頭到所有盤面的相同半徑的磁道完成喜爷。

4.若仍未讀取完,則切換其他不同半徑的磁道萄唇。

尋道:

按柱面為單位讀寫數(shù)據(jù)檩帐,

即先讀取同一個盤面的某一個磁道,

沒有讀完 就切換磁頭另萤,讀取下一個盤面的相同半徑的磁道湃密,

直到所有盤面相同半徑的磁道讀取完成之后诅挑,如果還沒有完成,就切換其他不同半徑的磁道泛源。

磁頭之間的切換是電子切換拔妥, 磁頭尋道是機械運動。

————————————————————————————————————————————————————————————————

企業(yè)案例:

不要用SATA磁盤做在線高并發(fā)服務(wù)的數(shù)據(jù)存儲或數(shù)據(jù)庫業(yè)務(wù)达箍。

某公司采用SATA做數(shù)據(jù)庫存儲盤没龙,宕機一個月。

5臺SATA盤(raid5) 換成了SAS(raid10)缎玫, 6個月沒出問題硬纤。

1.主庫選擇使用SAS raid10? 從庫SAS raid0

2.當(dāng)數(shù)據(jù)庫使用的引擎是MyISAM 換成Innodb

淘寶分級策略:

根據(jù)數(shù)據(jù)的訪問熱度,智能分析分層存儲赃磨。SATA+SSD

DAY21

Raid是廉價冗余磁盤陣列(Redundant Array of Inexpensive Disk)的簡稱, 有時也簡稱磁盤陣列(Disk Array)筝家。

RAID分為兩類:

軟RAID,系統(tǒng)層面實現(xiàn)的煞躬,性能差。

硬RAID逸邦,硬件層面實現(xiàn)的恩沛,性能好。

? ? ? ? 主板板載RAID:功能弱缕减,0雷客,1

獨立RAID卡:功能強,0,1,5,10 *****工作選擇桥狡。

LVM全稱(Logic Volume Management (Manager))邏輯卷管理,它的最大用途是可以【靈活的管理磁盤的容量】搅裙,讓磁盤分區(qū)可以隨意放大或縮小,便于更好的應(yīng)用磁盤的剩余空間裹芝,如果過于強調(diào)性能與備份部逮,那么還是應(yīng)該使用RAID功能,而不是LVM嫂易。

LVM是軟件層面實現(xiàn)的兄朋,性能太低。性能降低5-10%怜械。

買服務(wù)器插滿磁盤颅和,分區(qū)規(guī)劃好,永遠(yuǎn)都不需要LVM缕允。

RAID1又稱為Mirror或Mirroring(鏡像)峡扩,

它的宗旨是最大限度的保證用戶數(shù)據(jù)的可用性和可修復(fù)性。

RAID1的操作方式是把用戶寫入一個磁盤的數(shù)據(jù)百分之百地自動復(fù)制到另外

一個磁盤上障本,從而實現(xiàn)存儲雙份的數(shù)據(jù)教届。

RAID5描述 中庸

RAID5是一種存儲性能、數(shù)據(jù)安全和存儲成本兼顧的存儲解決方案。

RAID5需要三塊或以上的物理磁盤巍佑,可以提供熱備盤實現(xiàn)故障的恢復(fù)茴迁;

采用【奇偶校驗】,可靠性強萤衰,且只有同時損壞兩塊硬盤時數(shù)據(jù)才會完全損壞堕义,

只損壞一塊硬盤時,系統(tǒng)會根據(jù)存儲的奇偶校驗位重建數(shù)據(jù)脆栋,臨時提供服務(wù)倦卖;此時如果有熱備盤,系統(tǒng)還會自動在熱備盤上重建故障磁盤上的數(shù)據(jù)椿争;

分區(qū)知識:

回憶:

(1)什么是分區(qū)怕膛?

磁盤分區(qū)就相當(dāng)于給磁盤打隔斷。

(2)磁盤和分區(qū)在Linux里的命名秦踪。

IDE /dev/hda hdb

SCSI sda sdb

分區(qū)數(shù)字表示:sda1 sda2 sda3

(3)磁盤分區(qū)類型和特點:

1褐捻、主分區(qū)(primary)P

? 1)系統(tǒng)中必須要存在的分區(qū),系統(tǒng)盤選擇主分區(qū)安裝椅邓。

? 2)數(shù)字編號只能是1-4.sda1柠逞、sda2、sda3景馁、sda4板壮。

? 3)主分區(qū)最多四個,最少一個合住。

2绰精、擴展分區(qū)(extend)E

? 1)相當(dāng)于一個獨立的小磁盤。獨立的分區(qū)表透葛,不能獨立存在笨使。

? 2)有獨立的分區(qū)表。

? 3)不能獨立存在僚害,即不能直接存放數(shù)據(jù)阱表。

? 4)必須在擴展分區(qū)上建立邏輯分區(qū)才能存放數(shù)據(jù)。

? 5)占用主分區(qū)的編號(主分區(qū)+擴展分區(qū))之和最多4個贡珊。

? 6)擴展分區(qū)可以沒有最爬,最多只能有一個。

3门岔、邏輯分區(qū)(logic)L

? 2)數(shù)字編號只能是從5開始爱致。

? 3)存放于擴展分區(qū)之上。

? 4)存放任意普通數(shù)據(jù)寒随。


磁盤分區(qū)注意事項要點

一塊硬盤的分區(qū)方式只能為如下組合之一:

(1)任意多個主分區(qū)糠悯,但要求1≤主分區(qū)數(shù)量≤4帮坚。

例如:一個硬盤可以分為4個主分區(qū)3個主分區(qū)2個主分區(qū)或1個主分區(qū)。

(2)擴展分區(qū)可以和主分區(qū)組合互艾,但要求2≤(主分區(qū)+擴展分區(qū))數(shù)量≤4)试和。

例如:3個主分區(qū)+1個擴展分區(qū)或2個主分區(qū)+1個擴展分區(qū)或1個主分區(qū)+1個擴展分區(qū)。

當(dāng)總分區(qū)的數(shù)量大于4個的時候纫普,必須提前分一個擴展分區(qū)阅悍,擴展分區(qū)最多只能有一個。

(3)如果要分成四個磁盤分區(qū)的話昨稼,那么最多就是可以:

P + P + P + P

P + P + P + E

問題:如果給一個磁盤分6個分區(qū)有哪些方案节视,同時寫出分區(qū)/dev/sda(數(shù)字)。

3P+1E(3L)? 1 2 3 5 6 7

2P+1E(4L)? 12 5678

1P+1E(5L)? 1 56789

分區(qū)分完了假栓,空間還有剩余浪費掉空間寻行。

P + P + P + P

(4)磁盤分區(qū)工作原理:

磁盤是按柱面分區(qū)的。

磁盤分區(qū)登記的地點匾荆,磁盤分區(qū)表拌蜘。

磁盤分區(qū)表存放分區(qū)結(jié)果信息的。

磁盤分區(qū)表位置牙丽,0磁道0磁頭1扇區(qū)(512字節(jié))

占用1扇區(qū)的前446字節(jié)(系統(tǒng)引導(dǎo)信息的)后面的64字節(jié)(分區(qū)表)简卧,

剩下2個字節(jié)分區(qū)結(jié)束標(biāo)志。

磁盤分區(qū)表的容量是有限的剩岳,64字節(jié)贞滨,一個分區(qū)固定占16字節(jié)入热。

64/16=4分區(qū)(主分區(qū)+擴展分區(qū))

(5)磁盤分區(qū)實戰(zhàn)

磁盤分區(qū)關(guān)鍵就是修改64字節(jié)的的分區(qū)表而已拍棕。

磁盤分區(qū)常用命令fdisk,修改MBR分區(qū)表勺良,MBR格式绰播。

缺陷,被修改的磁盤大小不能大于2T尚困。

磁盤分區(qū)其他命令parted,gpt分區(qū)格式蠢箩,既能修改小于2T也能修改大于2T的磁盤。

小于2T就用fdisk

大于2T就用parted

[root@oldboyedu ~]# fdisk -l

Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 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/sda: 21.5 GB, 21474836480 bytes, 41943040 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: 0x000cd234

? Device Boot? ? ? Start? ? ? ? End? ? ? Blocks? Id? System

/dev/sda1? *? ? ? ? 2048? ? ? 526335? ? ? 262144? 83? Linux

/dev/sda2? ? ? ? ? 526336? ? 2099199? ? ? 786432? 82? Linux swap / Solaris

/dev/sda3? ? ? ? 2099200? ? 41943039? ? 19921920? 83? Linux

[root@oldboyedu ~]# fdisk /dev/sdb? #<==開始給sdb磁盤分區(qū)

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

Device does not contain a recognized partition table

Building a new DOS disklabel with disk identifier 0xbc9b0906.

Command (m for help): m? #<==查看分區(qū)的幫助信息事甜。

Command action

? a? toggle a bootable flag

? b? edit bsd disklabel

? c? toggle the dos compatibility flag

? d? delete a partition? ? ? ? ? ? #<==刪除一個分區(qū)谬泌。

? g? create a new empty GPT partition table

? G? create an IRIX (SGI) partition table

? l? list known partition types

? m? print this menu? ? ? ? ? ? ? #<==查看分區(qū)的幫助信息。

? n? add a new partition? ? ? ? ? #<==添加一個新分區(qū)逻谦。

? o? create a new empty DOS partition table

? p? print the partition table? ? #<==查看分區(qū)結(jié)果信息掌实。

? 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)

Command (m for help):

開始實踐:

如果給一個磁盤分6個分區(qū)有哪些方案贱鼻,同時寫出分區(qū)/dev/sda(數(shù)字)宴卖。

3P+1E(3L)? 1 2 3 5 6 7

2P+1E(4L)? 12 5678

1P+1E(5L)? 1 56789

用下面方案:

3P+1E(3L)? 1 2 3 5 6 7 每個150M

DAY 22

[root@oldboyedu ~]# parted /dev/sdb? #交互式開始分區(qū)

GNU Parted 3.1

Using /dev/sdb

Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) help

(parted) mklabel gpt? #修改分區(qū)格式為gpt? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to

continue?

Yes/No? Yes? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

(parted) p? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: 1074MB

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

Partition Table: gpt? #修改結(jié)果

(parted) mkpart primary 0 480? #創(chuàng)建第一個主分區(qū)480M。

Warning: The resulting partition is not properly aligned for best performance.

Ignore/Cancel? Ignore #忽略提示邻悬。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

(parted) mkpart primary 481 580 #創(chuàng)建第二個主分區(qū)100M症昏。

Warning: You requested a partition from 481MB to 580MB (sectors 939453..1132812).

The closest location we can manage is 481MB to 481MB (sectors 940031..940031).

Is this still acceptable to you?

Yes/No? Y? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

Warning: The resulting partition is not properly aligned for best performance.

Ignore/Cancel? I #忽略提示。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

(parted) mkpart logic 581 600 #創(chuàng)建一個20M邏輯分區(qū)父丰。

(parted) p? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: 1074MB

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

Partition Table: gpt

Disk Flags:

Number? Start? End? ? Size? ? File system? Name? ? Flags

1? ? ? 17.4kB? 480MB? 480MB? ? ? ? ? ? ? ? primary

3? ? ? 481MB? 481MB? 512B? ? ? ? ? ? ? ? primary

2? ? ? 481MB? 580MB? 98.6MB? ? ? ? ? ? ? primary

4? ? ? 581MB? 600MB? 18.9MB? ? ? ? ? ? ? logic

(parted) rm 4? #刪除? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

(parted) p? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

分區(qū)被parted搞了肝谭。

修改分區(qū)格式:

(parted) mklabel msdos

Warning: The existing disk label on /dev/sdb will be destroyed and all data on this disk will be lost. Do you want to

continue?

Yes/No? Y? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

(parted) p? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?

Model: VMware, VMware Virtual S (scsi)

Disk /dev/sdb: 1074MB

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

Partition Table: msdos

Disk Flags:

創(chuàng)建分區(qū):

[root@oldboyedu ~]# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

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):

First sector (2048-2097151, default 2048):

Using default value 2048

Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): +100M

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

Command (m for help): p

Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 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: 0x000006b6

? Device Boot? ? ? Start? ? ? ? End? ? ? Blocks? Id? System

/dev/sdb1? ? ? ? ? ? 2048? ? ? 206847? ? ? 102400? 83? Linux

Command (m for help): n

Partition type:

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

? e? extended

Select (default p): p

Partition number (2-4, default 2):

First sector (206848-2097151, default 206848):

Using default value 206848

Last sector, +sectors or +size{K,M,G} (206848-2097151, default 2097151): +100M

Partition 2 of type Linux and of size 100 MiB is set

Command (m for help): p

Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 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: 0x000006b6

? Device Boot? ? ? Start? ? ? ? End? ? ? Blocks? Id? System

/dev/sdb1? ? ? ? ? ? 2048? ? ? 206847? ? ? 102400? 83? Linux

/dev/sdb2? ? ? ? ? 206848? ? ? 411647? ? ? 102400? 83? Linux

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

Syncing disks.

[root@oldboyedu ~]# ls -l /dev/sdb*

brw-rw---- 1 root disk 8, 16 Mar 29 11:31 /dev/sdb

brw-rw---- 1 root disk 8, 17 Mar 29 11:31 /dev/sdb1

brw-rw---- 1 root disk 8, 18 Mar 29 11:31 /dev/sdb2

[root@oldboyedu ~]# mkfs -t ext4 /dev/sdb1 #格式化ext4文件系統(tǒng) mkfs.ext4

其實關(guān)鍵就是生成一定數(shù)量的Inode和Block。

mke2fs 1.42.9 (28-Dec-2013)

Filesystem label=

OS type: Linux

Block size=1024 (log=0)

Fragment size=1024 (log=0)

Stride=0 blocks, Stripe width=0 blocks

25688 inodes, 102400 blocks

5120 blocks (5.00%) reserved for the super user

First data block=1

Maximum filesystem blocks=33685504

13 block groups

8192 blocks per group, 8192 fragments per group

1976 inodes per group

Superblock backups stored on blocks:

8193, 24577, 40961, 57345, 73729

Allocating group tables: done? ? ? ? ? ? ? ? ? ? ? ? ? ?

Writing inode tables: done? ? ? ? ? ? ? ? ? ? ? ? ? ?

Creating journal (4096 blocks): done

Writing superblocks and filesystem accounting information: done

掛載:? ? 開門础米、開窗住人使用

[root@oldboyedu ~]# mount? /dev/sdb1 /mnt #臨時掛載到/mnt

[root@oldboyedu ~]# df -h #查看掛載結(jié)果

Filesystem? ? ? Size? Used Avail Use% Mounted on

/dev/sda3? ? ? ? 19G? 1.9G? 18G? 10% /

devtmpfs? ? ? ? 980M? 5.0M? 975M? 1% /dev

tmpfs? ? ? ? ? 991M? ? 0? 991M? 0% /dev/shm

tmpfs? ? ? ? ? 991M? 18M? 973M? 2% /run

tmpfs? ? ? ? ? 991M? ? 0? 991M? 0% /sys/fs/cgroup

/dev/sda1? ? ? 253M? 136M? 118M? 54% /boot

tmpfs? ? ? ? ? 199M? ? 0? 199M? 0% /run/user/0

tmpfs? ? ? ? ? 199M? ? 0? 199M? 0% /run/user/1000

/dev/sdb1? ? ? ? 93M? 1.6M? 85M? 2% /mnt #<====已掛載分苇。

[root@oldboyedu ~]# cat /proc/mounts? #查看掛載結(jié)果

rootfs / rootfs rw 0 0

sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0

proc /proc proc rw,nosuid,nodev,noexec,relatime 0 0

configfs /sys/kernel/config configfs rw,relatime 0 0

/dev/sda3 / xfs rw,relatime,attr2,inode64,noquota 0 0

systemd-1 /proc/sys/fs/binfmt_misc autofs rw,relatime,fd=32,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=19277 0 0

hugetlbfs /dev/hugepages hugetlbfs rw,relatime 0 0

debugfs /sys/kernel/debug debugfs rw,relatime 0 0

mqueue /dev/mqueue mqueue rw,relatime 0 0

/dev/sda1 /boot xfs rw,relatime,attr2,inode64,noquota 0 0

tmpfs /run/user/0 tmpfs rw,nosuid,nodev,relatime,size=202812k,mode=700 0 0

tmpfs /run/user/1000 tmpfs rw,nosuid,nodev,relatime,size=202812k,mode=700,uid=1000,gid=1000 0 0

/dev/sdb1 /mnt ext4 rw,relatime,data=ordered 0 0 #<==已掛載。

[root@oldboyedu ~]# touch /mnt/oldboy? #<==測試屁桑。

[root@oldboyedu ~]# ls /mnt

lost+found? oldboy

[root@oldboyedu /mnt]# umount /mnt

umount: /mnt: target is busy.

? ? ? ? (In some cases useful info about processes that use

? ? ? ? the device is found by lsof(8) or fuser(1))

[root@oldboyedu /mnt]# pwd

/mnt

You have new mail in /var/spool/mail/root

[root@oldboyedu /mnt]# umount -lf /mnt? ? #<==強制卸載

[root@oldboyedu /mnt]# df -h

Filesystem? ? ? Size? Used Avail Use% Mounted on

/dev/sda3? ? ? ? 19G? 1.9G? 18G? 10% /

devtmpfs? ? ? ? 980M? 5.0M? 975M? 1% /dev

tmpfs? ? ? ? ? 991M? ? 0? 991M? 0% /dev/shm

tmpfs? ? ? ? ? 991M? 18M? 973M? 2% /run

tmpfs? ? ? ? ? 991M? ? 0? 991M? 0% /sys/fs/cgroup

/dev/sda1? ? ? 253M? 136M? 118M? 54% /boot

tmpfs? ? ? ? ? 199M? ? 0? 199M? 0% /run/user/0

tmpfs? ? ? ? ? 199M? ? 0? 199M? 0% /run/user/1000

[root@oldboyedu ~]# mount /dev/sdb2 /opt? #沒有格式化沒法掛載

mount: /dev/sdb2 is write-protected, mounting read-only

mount: unknown filesystem type '(null)'

[root@oldboyedu ~]# mkfs.xfs /dev/sdb2? #格式化xfs文件系統(tǒng)

meta-data=/dev/sdb2? ? ? ? ? ? ? isize=512? ? agcount=4, agsize=6400 blks

? ? ? ? =? ? ? ? ? ? ? ? ? ? ? sectsz=512? attr=2, projid32bit=1

? ? ? ? =? ? ? ? ? ? ? ? ? ? ? crc=1? ? ? ? finobt=0, sparse=0

data? ? =? ? ? ? ? ? ? ? ? ? ? bsize=4096? blocks=25600, imaxpct=25

? ? ? ? =? ? ? ? ? ? ? ? ? ? ? sunit=0? ? ? swidth=0 blks

naming? =version 2? ? ? ? ? ? ? bsize=4096? ascii-ci=0 ftype=1

log? ? ? =internal log? ? ? ? ? bsize=4096? blocks=855, version=2

? ? ? ? =? ? ? ? ? ? ? ? ? ? ? sectsz=512? sunit=0 blks, lazy-count=1

realtime =none? ? ? ? ? ? ? ? ? extsz=4096? blocks=0, rtextents=0

[root@oldboyedu ~]# mount -t xfs /dev/sdb2 /opt

You have new mail in /var/spool/mail/root

[root@oldboyedu ~]# df -h|grep opt

/dev/sdb2? ? ? ? 97M? 5.3M? 92M? 6% /opt

[root@oldboyedu ~]# touch /opt/oldgirl

[root@oldboyedu ~]# ls /opt

oldgirl

如何開機自動掛載医寿?

/etc/fstab 開機自動掛載

幾列? 6列

[root@oldboyedu ~]# cat /etc/fstab

UUID=3a3a295f-88f8-456d-94dc-1a3eeb517c02 /? ? ? ? ? ? xfs? ? defaults? ? ? ? ? 0? ? ? ? ? ? 0

UUID=fd2e0ca7-32be-425f-86a2-85c02b9ec5ea /boot? ? ? ? xfs? ? defaults? ? ? ? ? 0? ? ? ? ? ? 0

UUID=79a3924b-739e-48dc-ab0c-0444b9ac6591 swap? ? ? ? swap? ? defaults? ? ? ? ? 0? ? ? ? ? ? 0

設(shè)備? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 掛載點? 文件系統(tǒng)類型? 默認(rèn)掛載選項? 是否備份? 是否開機磁盤檢查

/dev/sdb2? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /opt? ? ? ? xfs? ? defaults? ? ? ? ? 0? ? ? 0

mount -t xfs /dev/sdb2 /opt

[root@oldboyedu ~]# blkid

/dev/sdb1: UUID="a45b004f-2322-4dc4-a281-2a212dd2ab79" TYPE="ext4"

/dev/sdb2: UUID="7daf8142-b641-4b60-a287-4e08dfa18611" TYPE="xfs"

/dev/sda1: UUID="fd2e0ca7-32be-425f-86a2-85c02b9ec5ea" TYPE="xfs"

/dev/sda2: UUID="79a3924b-739e-48dc-ab0c-0444b9ac6591" TYPE="swap"

/dev/sda3: UUID="3a3a295f-88f8-456d-94dc-1a3eeb517c02" TYPE="xfs"

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

/dev/sdb2? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? /opt? ? ? ? ? ? ? ? ? ? xfs? ? defaults? ? ? ? 0 0

mount -a 可以將fstab里的信息掛載蘑斧。

放入/etc/rc.local 實現(xiàn)自動掛載 但不推薦靖秩。

/sbin/mount -t xfs /dev/sdb2 /opt

查看:

[root@oldboyedu ~]# df -h

Filesystem? ? ? Size? Used Avail Use% Mounted on

/dev/sda3? ? ? ? 19G? 1.9G? 18G? 10% /

devtmpfs? ? ? ? 980M? ? 0? 980M? 0% /dev

tmpfs? ? ? ? ? 991M? ? 0? 991M? 0% /dev/shm

tmpfs? ? ? ? ? 991M? 9.6M? 981M? 1% /run

tmpfs? ? ? ? ? 991M? ? 0? 991M? 0% /sys/fs/cgroup

/dev/sdb2? ? ? ? 97M? 5.3M? 92M? 6% /opt

/dev/sda1? ? ? 253M? 136M? 118M? 54% /boot

tmpfs? ? ? ? ? 199M? ? 0? 199M? 0% /run/user/0

tmpfs? ? ? ? ? 199M? ? 0? 199M? 0% /run/user/1000

[root@oldboyedu ~]# df -i

Filesystem? ? ? Inodes IUsed? IFree IUse% Mounted on

/dev/sda3? ? ? 9960960 74572 9886388? ? 1% /

devtmpfs? ? ? ? 250820? 390? 250430? ? 1% /dev

tmpfs? ? ? ? ? 253514? ? 1? 253513? ? 1% /dev/shm

tmpfs? ? ? ? ? 253514? 724? 252790? ? 1% /run

tmpfs? ? ? ? ? 253514? ? 16? 253498? ? 1% /sys/fs/cgroup

/dev/sdb2? ? ? ? 51200? ? 4? 51196? ? 1% /opt

/dev/sda1? ? ? 131072? 332? 130740? ? 1% /boot

tmpfs? ? ? ? ? 253514? ? 1? 253513? ? 1% /run/user/0

tmpfs? ? ? ? ? 253514? ? 1? 253513? ? 1% /run/user/1000

[root@oldboyedu ~]# blkid

/dev/sdb1: UUID="a45b004f-2322-4dc4-a281-2a212dd2ab79" TYPE="ext4"

/dev/sdb2: UUID="7daf8142-b641-4b60-a287-4e08dfa18611" TYPE="xfs"

/dev/sda1: UUID="fd2e0ca7-32be-425f-86a2-85c02b9ec5ea" TYPE="xfs"

/dev/sda2: UUID="79a3924b-739e-48dc-ab0c-0444b9ac6591" TYPE="swap"

/dev/sda3: UUID="3a3a295f-88f8-456d-94dc-1a3eeb517c02" TYPE="xfs"

查看文件系統(tǒng)內(nèi)部細(xì)節(jié):

[root@oldboyedu ~]# dumpe2fs /dev/sdb1 #查看ext文件系統(tǒng)內(nèi)部細(xì)節(jié)

[root@oldboyedu ~]# dumpe2fs /dev/sdb1|egrep -i "size"

dumpe2fs 1.42.9 (28-Dec-2013)

Filesystem features:? ? ? has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super huge_file uninit_bg dir_nlink extra_isize

Block size:? ? ? ? ? ? ? 1024

Fragment size:? ? ? ? ? ? 1024

Group descriptor size:? ? 64

Flex block group size:? ? 16

Inode size: ? ? ? ? ? 128

Journal size:? ? ? ? ? ? 4096k

[root@oldboyedu ~]# xfs_

xfs_admin? ? ? xfs_db? ? ? ? xfs_fsr? ? ? ? xfs_io? ? ? ? xfs_metadump? xfs_quota? ? ?

xfs_bmap? ? ? xfs_estimate? xfs_growfs? ? xfs_logprint? xfs_mkfile? ? xfs_repair? ?

xfs_copy? ? ? xfs_freeze? ? xfs_info? ? ? xfs_mdrestore? xfs_ncheck? ? xfs_rtcp? ? ?

[root@oldboyedu ~]# xfs_

[root@oldboyedu ~]# xfs_info /dev/sda1

meta-data=/dev/sda1? ? ? ? ? ? ? isize=512? ? agcount=4, agsize=16384 blks

? ? ? ? =? ? ? ? ? ? ? ? ? ? ? sectsz=512? attr=2, projid32bit=1

? ? ? ? =? ? ? ? ? ? ? ? ? ? ? crc=1? ? ? ? finobt=0 spinodes=0

data? ? =? ? ? ? ? ? ? ? ? ? ? bsize=4096? blocks=65536, imaxpct=25

? ? ? ? =? ? ? ? ? ? ? ? ? ? ? sunit=0? ? ? swidth=0 blks

naming? =version 2? ? ? ? ? ? ? bsize=4096? ascii-ci=0 ftype=1

log? ? ? =internal? ? ? ? ? ? ? bsize=4096? blocks=855, version=2

? ? ? ? =? ? ? ? ? ? ? ? ? ? ? sectsz=512? sunit=0 blks, lazy-count=1

realtime =none? ? ? ? ? ? ? ? ? extsz=4096? blocks=0, rtextents=0

[root@oldboyedu ~]# fsck

fsck? ? ? ? fsck.btrfs? fsck.cramfs? fsck.ext2? ? fsck.ext3? ? fsck.ext4? ? fsck.minix? fsck.xfs? ?

[root@oldboyedu ~]# fsck

fsck 磁盤檢查和修復(fù)

1、正常的磁盤不能操作竖瘾。

2沟突、卸載掛載點在操作

[root@oldboyedu ~]# fsck -a /dev/sdb1

fsck from util-linux 2.23.2

/dev/sdb1: clean, 12/25688 files, 8896/102400 blocks

[root@oldboyedu ~]# mount /dev/sdb1 /mnt

[root@oldboyedu ~]# fsck -a /dev/sdb1

fsck from util-linux 2.23.2

/dev/sdb1 is mounted.

e2fsck: Cannot continue, aborting.

[root@oldboyedu ~]# e2fsck /dev/sdb1

e2fsck 1.42.9 (28-Dec-2013)

/dev/sdb1: clean, 12/25688 files, 8896/102400 blocks

[root@oldboyedu ~]# fsck -a /dev/sdb1

fsck from util-linux 2.23.2

/dev/sdb1: clean, 12/25688 files, 8896/102400 blocks

[root@oldboyedu ~]# xfs_repair /dev/sdb2

xfs_repair: /dev/sdb2 contains a mounted filesystem

xfs_repair: /dev/sdb2 contains a mounted and writable filesystem

fatal error -- couldn't initialize XFS library

[root@oldboyedu ~]# umount /opt

[root@oldboyedu ~]# xfs_repair /dev/sdb2

Phase 1 - find and verify superblock...

Phase 2 - using internal log

? ? ? ? - zero log...

? ? ? ? - scan filesystem freespace and inode maps...

? ? ? ? - found root inode chunk

Phase 3 - for each AG...

? ? ? ? - scan and clear agi unlinked lists...

? ? ? ? - process known inodes and perform inode discovery...

? ? ? ? - agno = 0

? ? ? ? - agno = 1

? ? ? ? - agno = 2

? ? ? ? - agno = 3

? ? ? ? - process newly discovered inodes...

Phase 4 - check for duplicate blocks...

? ? ? ? - setting up duplicate extent list...

? ? ? ? - check for inodes claiming duplicate blocks...

? ? ? ? - agno = 0

? ? ? ? - agno = 1

? ? ? ? - agno = 2

? ? ? ? - agno = 3

Phase 5 - rebuild AG headers and trees...

? ? ? ? - reset superblock...

Phase 6 - check inode connectivity...

? ? ? ? - resetting contents of realtime bitmap and summary inodes

? ? ? ? - traversing filesystem ...

? ? ? ? - traversal finished ...

? ? ? ? - moving disconnected inodes to lost+found ...

Phase 7 - verify and correct link counts...

done

==============================指定塊大小和inode大小格式===========================================

[root@oldboyedu ~]# mkfs -t ext4 -b 4096 -I 512 /dev/sdb3

mke2fs 1.42.9 (28-Dec-2013)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

Stride=0 blocks, Stripe width=0 blocks

38400 inodes, 38400 blocks

1920 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=39845888

2 block groups

32768 blocks per group, 32768 fragments per group

19200 inodes per group

Superblock backups stored on blocks:

32768

Allocating group tables: done? ? ? ? ? ? ? ? ? ? ? ? ? ?

Writing inode tables: done? ? ? ? ? ? ? ? ? ? ? ? ? ?

Creating journal (4096 blocks): done

Writing superblocks and filesystem accounting information: done

[root@oldboyedu ~]# dumpe2fs /dev/sdb3|egrep -i "size"

dumpe2fs 1.42.9 (28-Dec-2013)

Filesystem features:? ? ? has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize

Block size:? ? ? ? ? ? ? 4096

Fragment size:? ? ? ? ? ? 4096

Group descriptor size:? ? 64

Flex block group size:? ? 16

Inode size: ? ? ? ? ? ? ? 512

Required extra isize:? ? 28

Desired extra isize:? ? ? 28

Journal size:? ? ? ? ? ? 16M

文件刪除原理

no space left on device.

swap作用,內(nèi)存不夠時候捕传,用來充當(dāng)內(nèi)存惠拭,一般內(nèi)存1.5倍。大于8G給8G

將來JAVA服務(wù)庸论,內(nèi)存泄漏职辅。。聂示。

swap就會占用域携。。鱼喉。操作系統(tǒng)性能下降

[root@oldboyedu ~]# free -m

? ? ? ? ? ? ? total? ? ? ? used? ? ? ? free? ? ? shared? buff/cache? available

Mem:? ? ? ? ? 1980? ? ? ? 143? ? ? ? 1689? ? ? ? ? 9? ? ? ? 146? ? ? ? 1671

Swap:? ? ? ? ? 767? ? ? ? ? 0? ? ? ? 767

增加swap分區(qū) 100M

[root@oldboyedu ~]# fdisk /dev/sdb

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

Command (m for help): n

Partition type:

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

? e? extended

Select (default e): p

Selected partition 4

First sector (718848-2097151, default 718848):

Using default value 718848

Last sector, +sectors or +size{K,M,G} (718848-2097151, default 2097151): +150M

Partition 4 of type Linux and of size 150 MiB is set

Command (m for help): p

Disk /dev/sdb: 1073 MB, 1073741824 bytes, 2097152 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: 0x000006b6

? Device Boot? ? ? Start? ? ? ? End? ? ? Blocks? Id? System

/dev/sdb1? ? ? ? ? ? 2048? ? ? 206847? ? ? 102400? 83? Linux

/dev/sdb2? ? ? ? ? 206848? ? ? 411647? ? ? 102400? 83? Linux

/dev/sdb3? ? ? ? ? 411648? ? ? 718847? ? ? 153600? 83? Linux

/dev/sdb4? ? ? ? ? 718848? ? 1026047? ? ? 153600? 83? Linux

Command (m for help): w

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

[root@oldboyedu ~]# partprobe /dev/sdb

[root@oldboyedu ~]# mkswap /dev/sdb4

Setting up swapspace version 1, size = 153596 KiB

no label, UUID=2d1ac352-4cc0-4727-8318-5526a3c309c2

[root@oldboyedu ~]# swapon -a /dev/sdb4

You have new mail in /var/spool/mail/root

[root@oldboyedu ~]# free -m

? ? ? ? ? ? ? total? ? ? ? used? ? ? ? free? ? ? shared? buff/cache? available

Mem:? ? ? ? ? 1980? ? ? ? 144? ? ? ? 1673? ? ? ? ? 19? ? ? ? 162? ? ? ? 1658

Swap:? ? ? ? ? 917? ? ? ? ? 0? ? ? ? 917

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末秀鞭,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子扛禽,更是在濱河造成了極大的恐慌锋边,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件编曼,死亡現(xiàn)場離奇詭異豆巨,居然都是意外死亡,警方通過查閱死者的電腦和手機灵巧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進(jìn)店門搀矫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抹沪,“玉大人,你說我怎么就攤上這事瓤球∪谂罚” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵卦羡,是天一觀的道長噪馏。 經(jīng)常有香客問我,道長绿饵,這世上最難降的妖魔是什么恢氯? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任厘擂,我火速辦了婚禮匾浪,結(jié)果婚禮上草慧,老公的妹妹穿的比我還像新娘。我一直安慰自己吸祟,他們只是感情好瑟慈,可當(dāng)我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著屋匕,像睡著了一般葛碧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上过吻,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天进泼,我揣著相機與錄音,去河邊找鬼纤虽。 笑死乳绕,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的廓推。 我是一名探鬼主播刷袍,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼翩隧,長吁一口氣:“原來是場噩夢啊……” “哼樊展!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起堆生,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤专缠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后淑仆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涝婉,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年蔗怠,在試婚紗的時候發(fā)現(xiàn)自己被綠了墩弯。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吩跋。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖渔工,靈堂內(nèi)的尸體忽然破棺而出锌钮,到底是詐尸還是另有隱情,我是刑警寧澤引矩,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布梁丘,位于F島的核電站,受9級特大地震影響旺韭,放射性物質(zhì)發(fā)生泄漏氛谜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一区端、第九天 我趴在偏房一處隱蔽的房頂上張望值漫。 院中可真熱鬧,春花似錦织盼、人聲如沸惭嚣。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽晚吞。三九已至,卻和暖如春谋国,著一層夾襖步出監(jiān)牢的瞬間槽地,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工芦瘾, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留捌蚊,地道東北人。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓近弟,卻偏偏與公主長得像缅糟,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子祷愉,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容