YUM源、磁盤基礎知識 CDN概念
第1章 YUM源
1.1 什麽是yum源
Yellowdog Updater, Modified
一個基於RPM包管理的字符前端軟件包管理器。能夠從指定的服務器自動下載RPM包並且安裝,可以處理依賴性關系,並且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。
簡單來說就是軟件倉庫--yum源/倉庫,類似於電腦管家之類。
1.2 查看系統中有什麽yum源
yum repolist 目錄可以列出服務器中使用的什麽yum源。
[[email protected] ~]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* epel: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
repo id repo name status
base CentOS-6 - Base - mirrors.aliyun.com 6,706
epel Extra Packages for Enterprise Linux 6 - x86_64 12,395
extras CentOS-6 - Extras - mirrors.aliyun.com 45
updates CentOS-6 - Updates - mirrors.aliyun.com 611
repolist: 19,757
系統的yum源默認是從世界各地下載軟件,優先選擇自己離得最近的源下載,不穩定。
1.3 指定一個國內的yum源地址 aliyun
修改為阿裏雲的
1.3.1 操作前備份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
1.3.2 下載新的CentOS-Base.repo 到/etc/yum.repos.d/
CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或者
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
1.3.3 生成本地緩存
緩存無處不在
yum makecache
1.4 增加一個epel源
1.4.1 epel源時幹什麽的
epel源---增加和擴展yum倉庫
裏面包含了許多基本源裏沒有的軟件。
1.4.2 添加上一個aliyun的epel源
安裝自己的系統版本選擇epel源。
epel(RHEL 7)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
epel(RHEL 6)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
epel(RHEL 5)
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-5.repo
1.5 安裝htop和sl 程序
htop 是一個類似與top的軟件,但是更好看
sl 是一個小軟件,哈哈。
[[email protected] ~]# yum install htop sl -y
1.6 清除yum緩存
清除本地的yum緩存。
yum clean all
1.7 查看系統yum源信息時可能出現的錯誤
1.7.1 可能出現的錯誤
[[email protected] ~]# yum repolist
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
repolist: 0
[[email protected] ~]# ls -l /etc/yum.repos.d
total 40
-rw-r--r-- 1 root root 2572 Jul 2 2014 CentOS-Base.repo
/etc/yum.repos.d目錄下的 .repo文件的內容沒有或被刪除都可以導致找不到yum源。
會出現以上的錯誤。
1.7.2 yum 常見錯誤
[[email protected] ~]# yum install tree
Loaded plugins: fastestmirror, security
Existing lock /var/run/yum.pid: another copy is running as pid 5219.
Another app is currently holding the yum lock; waiting for it to exit...
The other application is: yum
Memory : 23 M RSS (859 MB VSZ)
Started: Fri Sep 15 08:46:52 2017 - 00:12 ago
State : Sleeping, pid: 5219
狀態 :pid 5219
正在運行的yum的pid
1.7.3 解決辦法
1)可以等待該yum程序執行完畢,就可以進行安裝
2)可以將這個pid進程結束進程,使用kill命令。
[[email protected] ~]# ps -ef |grep 5219
root 5219 5095 44 08:52 pts/1 00:00:21 /usr/bin/python /usr/bin/yum makecache
root 5232 5146 0 08:53 pts/2 00:00:00 grep --color=auto 5219
第2章 磁盤的基礎知識
2.1 磁盤知識體系
2.2 如何查詢內存的使用情況
free -h 參數,在舊版本的系統中沒有這個參數,可以使用-m,以M為單位顯示。
[[email protected] ~]# free -h
total used free shared buffers cached
Mem: 1.8G 887M 974M 228K 221M 302M
-/+ buffers/cache: 363M 1.5G ??這才是真正剩余的內存
Swap: 767M 0B 767M
free + buffers + cached 才是真正剩余的內存
2.2.1 為什麽內存會少
(1)linux把你使用過的命令、程序、文件、臨時存放在系統的緩存區(buffer和cache的地方)
(2)方便下次使用,提高系統的速度。
(3)使用其他的命令的時候 這個區域會被清理/覆蓋
(4)可以從這個網站上了解更多: http://www.linuxatemyram.com/
2.2.2 內存相關的文件
[[email protected] ~]# find / -name "*drop_caches*"
/proc/sys/vm/drop_caches
危險的文件
清空這個文件,釋放所有內存
2.3 硬盤外部結構
轉速 5400/7200/10000/15000 rpm
接口 sata sas scsi pci-e
緩存 緩存無處不在
2.4 磁盤的接口類型
SATA 個人數據,存放不重要數據的
SCSI 穩定,接口不一樣
SAS 企業默認的接口
PCI-E 價格高
m.2或nvme 筆記本使用
2.5 磁盤的選擇
1)線上(用戶正在使用的環境 給用戶提供服務)的業務,用SAS磁盤。
2)線下(自己人用的環境 )的業務,用SATA磁盤,磁帶庫,使用光盤存放數據。
3)線上高並發、小容量(很多人都想看的圖片)的業務,固態硬盤SSD。
4)成本思想:根據數據的訪問熱度,智能分析分層存儲。SATA+SSD
2.5.1 根據數據的訪問熱度,智能分析分層存儲
一臺服務器裏面分為冷門數據和熱門數據:
熱門數據:把用戶經常使用的圖片 存放在ssd裏面 。
冷門數據: 不經常使用的放在 sata 中。
2.6 【企業案例】千萬不要用SATA磁盤來做在線高並發服務的數據存儲或數據庫業務,這是有血的教訓的。某公司采用SATA做數據庫的存儲盤,結果導致數據庫連續宕機一個月。
解決辦法:
重新買5臺,把磁盤從SATA(RAID5)換成SAS(RAID10)。6個月內沒事。
2.7 CDN 內容分發網絡
2.7.1 什麽是CDN
1. 緩存用戶數據
2. 根據用戶所在位置,讓用戶訪問最近的位置
3. 提高用戶的訪問速度
第3章 磁盤的內部結構
3.1 磁盤相關的名詞
磁盤--disk
磁頭--head 讀取與寫入數據
磁道--track 相當與一個呼啦圈
以磁盤中心(主軸),環形區域
扇區--sector
磁盤上面最小的單位
一個扇區512字節
柱面--cylinder
磁盤的讀寫是按照柱面進行
單元塊--units
3.2 計算磁盤的容量
3.2.1 計算的公式
磁盤的大小=磁盤中的柱面大小*柱面的數量
一個柱面的大小=一個磁道的大小*磁頭數(盤面數)
一個磁道的大小=扇區的數量*扇區的大小
3.2.2 查看磁盤的信息
[[email protected] ~]# 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
3.2.3 需要什麽條件可以算出磁盤大小?
1.每個磁道上面有多少個扇區
2.磁盤有多少個磁頭
3.柱面的數量
3.3 linux裏面如何計算
3.3.1 bc命令
bc 命令可以進行交互式命令,前面經過管道傳輸後可以進行非交互計算。
[[email protected] ~]# echo 1+2
1+2
[[email protected] ~]# echo 1+2|bc
3
bc默認取值整數。
3.3.2 awk ‘BEGIN{pirnt }‘ 方法
awk的方法可以顯示小數位。
[[email protected] ~]# awk ‘BEGIN{print 1/3}‘
0.333333
3.4 計算機中的單位
1字節為1B
1KB=1024B
1MB=1024KB=1024^2B
1GB=1024MB=1024^3B
1TB=1024GB=1024^4B
3.5 為什麽500G的磁盤 實際可用的容量不到500G?
硬盤廠商計算按照1000為單位
計算機中是以1024為單位
第4章 回顧
4.1 如何讓一個腳本或服務開機自動運行
4.1.1 方法一:/etc/rc.local
修改/etc/rc.local文件,將要執行的內容放到裏面即可。
4.1.2 方法二:通過chkconfig管理
能夠讓chkconfig管理的條件:
1、腳本放在/etc/init.d下
2、腳本要有執行權限
3、要有chkconfig要求的格式
[[email protected] ~]# head /etc/init.d/iptables
#!/bin/sh
#
# iptables Start iptables firewall
#
# chkconfig: 2345 08 92
必須有的格式
使用chkconfig --add 添加上管理腳本即可。
YUM源、磁盤基礎知識 CDN概念