磁盤體系
磁盤組成
磁盤 硬碟 disk(hard disk )
磁盤分類
機械硬碟
固態硬碟(閃存芯片 nand flash)
磁盤主要指標
容量
轉速 rpm round per minute 每分鐘多少轉 5400/7200/10000/15000 rpm
介面 sata sas scsi pci-e
快取 快取無處不在
磁盤的介面型別
SATA(串 serial) 資料,存放不重要資料的
SCSI 穩定,介面不一樣
SAS 企業默認的介面
PCI-E 價格高
nvme (m.2)PCI=E 筆記本使用
磁盤的選擇
機械與固態硬碟
機械硬碟
SATA:給自己使用的時候,對性能要求不高 大容量線下服務(不涉及到用戶的 線下使用/服務) 10K rpm 2T 3T 4T 選擇性價比最高的
SAS:服務器標配 線上/線下生產環境使用
15K 300G 600G 10K 7.2K
固態硬碟:
PCI-E SAS SATA
大量的讀寫 要求很高的性能 資料量小
磁盤的選擇
1)線上(用戶正在使用的環境 給用戶提供服務)的業務,用SAS磁盤,
2)線下(自己人用的環境)的業務,用SATA磁盤,磁帶庫,使用光碟存放資料,
3)線上高并發、小容量(很多人都想看的圖片)的業務,固態硬碟SSD,
4)成本思想:根據資料的訪問熱度,智能分析分層存盤,SATA+SSD
機械與固態對比
機械硬碟:容量大價格低 抗擊打能力弱 讀寫速度稍慢io 資料恢復易 無限
固態硬碟:容量小價格高 抗擊打能力高 讀寫速度很快io 資料恢復難 1-2w次
根據資料的訪問熱度,智能分析分層存盤
一臺服務器里面分為冷門資料和熱門資料:
熱門資料:把用戶經常使用的圖片 存放在ssd里面 ,
冷門資料: 不經常使用的放在 sata 中,
使用SATA作為高并發的資料存盤 企業案例
【企業案例】千萬不要用SATA磁盤來做在線高并發服務的資料存盤或資料庫業務,這是有血的教訓的,某公司采用SATA做資料庫的存盤盤,結果導致資料庫連續宕機一個月,
解決辦法:
重新買5臺,把磁盤從SATA(RAID5)換成SAS(RAID10),6個月內沒事,
磁盤內部結構
磁盤-硬碟-disk
磁頭--head
盤面數量==磁頭數量
作用:用來寫入和讀取資料的
徑向運動 尋道
磁道--track 
相當與一個呼啦圈
以磁盤中心(主軸)
環形區域
從外面到里面 最外面是0磁道
扇區--sector 
磁盤上面最小的單位
一個扇區512位元組
柱面--cylinder

磁盤的讀寫是按照柱面進行
不同盤面上面相同的磁道組成的圓柱體
不同盤面上的相同的呼啦圈組成的圓柱體
磁盤默認是按照柱面進行讀寫
磁頭之間的切換速度 接近于光速
磁頭徑向運動-尋道 機械運動 man
單元塊--units
表示一個柱面的大小
計算磁盤的容量
500G 硬碟 實際到手容量不足500G ?
廠家: 1000為單位 1KB=1000位元組 1MB=1000KB
計算機中:1024為單位
計算的公式
磁盤的大小 = 磁盤中的柱面大小柱面的數量
柱面的大小 = 一個磁道的大小磁頭的數量(盤面數)
磁道的大小 = 扇區的數量*每個扇區的大小
查看磁盤的資訊
fdisk用于觀察硬碟物體使用情況,也可對硬碟磁區
fdisk -l
[root@nfsnobody ~]# fdisk -l
Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
255 磁頭 63 扇區 1305 柱面
Units = cylinders of 16065 * 512 = 8225280 bytes
單元塊 一個柱面的大小
Sector size (logical/physical): 512 bytes / 512 bytes
1位元組為1B
1KB=1024B
1MB=1024KB=1024^2B
1GB=1024MB=1024^3B
1TB=1024GB=1024^4B
算出磁盤大小的條件
每個磁道上面有多少個扇區
磁盤有多少個磁頭
柱面的數量
linux中如何計算
linux下面進行計算方法:
bc 與bc -l
awk 'BEGIN{pirnt }'
bc命令 bc默認取值整數, bc -l可以顯示小數位
bc 命令可以進行互動式命令,前面經過管道傳輸后可以進行非互動計算,
[root@nfsnobody ~]# echo 1+2
1+2
[root@nfsnobody ~]# echo 1+2|bc
3
[root@nfsnobody ~]# echo 'scale=5;3/4' |bc
.75000
[root@nfsnobody ~]# echo 10/3|bc -l
3.33333333333333333333
awk 'BEGIN{pirnt }'
awk的方法可以顯示小數位
[root@nfsnobody ~]# awk 'BEGIN{print 1/3}'
0.333333
[root@nfsnobody ~]# awk 'BEGIN{print 3/4,1/2,1/3}'
0.75 0.5 0.333333
raid詳解
raid 磁盤冗余陣列(磁盤陣列卡)
用raid的目的
1)獲得更大的容量
2)讓資料更安全
3)讀寫速度更快
raid分類對比
RAID5 校驗 奇偶校驗
| 型別 | 硬碟數量 | 安全 冗余 | 可用容量 | 性能 | 使用場景 | 舉例 |
|---|---|---|---|---|---|---|
| raid 0 條帶 |
最少一塊 | 最低 | 所有硬碟之和 | 最快 | 不要求安全只要求速度 | 資料庫從庫 存盤從庫 |
| raid 1 鏡像 |
只能兩塊 | 100% | 所有硬碟容量的一半 | 寫入慢,讀取類似一塊的速度 | 只追求安全 對于速度沒要求 |
系統盤 監控服務器 |
| raid 5 | 最少3塊 | 最多損壞一塊 | 損失一塊盤的容量 | 寫入性能不好,讀取速度可以 | 都有要求但要求都不高;可以作為熱備 | 普遍資料庫 存盤 使用最多的 |
| raid 10 | 最少4塊 必須是偶數 |
可以損壞一半 | 損失所有硬碟一半的容量 | 讀寫都很快 | 對于安全和性能都要求很高 | 高并發或高訪問量 資料庫主庫 存盤 |


關于系統安全
連接到服務器
1.ip地址
2.用戶名密碼 root
3.埠號 22
ll /var/log/secure 查看用戶登錄資訊
nmap -p22 10.0.0.1-254 檢查22埠號
把檔案的md5資訊記錄起來
把檔案的md5資訊 存放(警察局)
md5sum校驗
mdusum -c
檔案名改變 內容不變 md5不變
檔案內容改變 檔案名不變 md5改變
[root@nfsnobody nfsnobody]# echo nfsnobody > nfsnobody.txt 創建一個檔案
[root@nfsnobody nfsnobody]# md5sum nfsnobody.txt 查看檔案的md5
3fe396c01f03425cb5e2da8186eb090d nfsnobody.txt
[root@nfsnobody nfsnobody]# md5sum nfsnobody.txt > pol.md5 將檔案的md5寫入到檔案
[root@nfsnobody nfsnobody]# md5sum -c pol.md5 檢查
nfsnobody.txt: OK md5一樣
[root@nfsnobody nfsnobody]# > nfsnobody.txt 修改下檔案內容
[root@nfsnobody nfsnobody]# md5sum -c pol.md5 發生變化
nfsnobody.txt: FAILED
md5sum: WARNING: 1 of 1 computed checksum did NOT match
sha系列
sha系列也是用來設定指紋的 比md5更安全 和md5使用方法一樣
[root@nfsnobody ~]# sha
sha1sum sha224sum sha256sum sha384sum sha512sum
[root@nfsnobody ~]# sha512sum nfsnobody.txt
c9a326ffb217c4dc7f72ccf02aba9abf9ec94ca40aa47d848f57741e313a7df52b80f8cca9130acc5930815a1728d93bd781b29d4598eb5cbcaf55ef6e2a7d98 nfsnobody.txt
如何防止系統中木馬
linux常見查出病毒方法
1.事先做好指紋,時候進行檢查
2.rpm -aV 比較yum安裝或rpm安裝的軟體是否變化
3.查病毒軟體:clamav
練習題總結
定時任務
每天晚上12點打包備份/etc/目錄
1.打包備份到/backup目錄
3.保留每周1的備份
2.洗掉7天之前的備份
[root@nfsnobody backup]# cat /server/scripts/find.sh
#!/bin/bash
#tar+find
tar zcf /backup/$(date +%F_%w).tar.gz /etc/
find /backup/ -type f -mtime +7 ! -name "*_1.tar.gz"|xargs rm -f
[root@nfsnobody backup]# crontab -l
#tar+find 2018/8/13
#00 00 * * * /bin/sh /server/scripts/find.sh >dev/null 2>&1
批量創建用戶
批量添加3個用戶stu01,stu02....stu10,并設定123456 (禁止使用for,while等回圈)
命令拼接(弄出命令樣子,最后交給bash執行)
& 前面正則運算式匹配到的內容
1.目標
useradd stu01;echo 123456|passwd --stdin stu01 要生成這種的
useradd stu02;echo 123456|passwd --stdin stu02
useradd stu03;echo 123456|passwd --stdin stu03
2.生成名字
[root@nfsnobody ~]# echo stu{01..3}|xargs -n1
stu01
stu02
stu03
3.開始進行拼接-sed
[root@nfsnobody ~]# echo stu{01..3}|xargs -n1|sed 's#.*#useradd &#g'
useradd stu01
useradd stu02
useradd stu03
[root@nfsnobody ~]# echo stu{01..3}|xargs -n1|sed 's#.*#useradd &;echo 123456|passwd --stdin &#g'
useradd stu01;echo 123456|passwd --stdin stu01
useradd stu02;echo 123456|passwd --stdin stu02
useradd stu03;echo 123456|passwd --stdin stu03
4.挑選一條進行測驗
[root@nfsnobody ~]# useradd stu03;echo 123456|passwd --stdin stu03
Changing password for user stu03.
passwd: all authentication tokens updated successfully.
5.交給bash執行
[root@nfsnobody ~]# echo stu{01..3}|xargs -n1|sed 's#.*#useradd &;echo 123456|passwd --stdin &#g' |bash
Changing password for user stu01.
passwd: all authentication tokens updated successfully.
Changing password for user stu02.
passwd: all authentication tokens updated successfully.
useradd: user 'stu03' already exists
Changing password for user stu03.
passwd: all authentication tokens updated successfully.
命令拼接(弄出命令樣子,最后交給bash執行)
批量添加10個用戶stu01,stu02....stu10,并設定8位隨機密碼(禁止使用for,while等回圈)
[root@CentOS ~]# echo stu{01..3}|xargs -n1|sed -r 's#.*#useradd & ;echo $[$RANDOM+100000000]|tr "[0-9]" "[a-z]"|passwd --stdin &#g'
useradd stu01 ;echo $[$RANDOM+100000000]|tr "[0-9]" "[a-z]"|passwd --stdin stu01
useradd stu02 ;echo $[$RANDOM+100000000]|tr "[0-9]" "[a-z]"|passwd --stdin stu02
useradd stu03 ;echo $[$RANDOM+100000000]|tr "[0-9]" "[a-z]"|passwd --stdin stu03
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/149750.html
標籤:Linux
上一篇:用戶的管理
下一篇:磁盤管理-中部
