1. 程式人生 > >YUM源、磁盤基礎知識 CDN概念

YUM源、磁盤基礎知識 CDN概念

rpm bsp mil har use left 線上 border 存儲

第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

修改為阿裏雲的

yum

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 添加上一個aliyunepel

安裝自己的系統版本選擇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 安裝htopsl 程序

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

正在運行的yumpid

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 為什麽內存會少

1linux把你使用過的命令、程序、文件、臨時存放在系統的緩存區(buffercache的地方)

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.2nvme 筆記本使用

2.5 磁盤的選擇

1線上(用戶正在使用的環境 給用戶提供服務)的業務,用SAS磁盤

2線下(自己人用的環境 )的業務,SATA磁盤,磁帶庫,使用光盤存放數據。

3線上高並發、小容量(很多人都想看的圖片)的業務,固態硬盤SSD

4)成本思想:根據數據的訪問熱度,智能分析分層存儲。SATA+SSD

2.5.1 根據數據的訪問熱度,智能分析分層存儲

一臺服務器裏面分為冷門數據和熱門數據:

熱門數據:把用戶經常使用的圖片 存放在ssd裏面

冷門數據: 不經常使用的放在 sata 中。

2.6 企業案例】千萬不要用SATA磁盤來做在線高並發服務的數據存儲或數據庫業務,這是有血的教訓的。某公司采用SATA做數據庫的存儲盤,結果導致數據庫連續宕機一個月。

解決辦法:

重新買5臺,把磁盤從SATARAID5)換成SASRAID10)。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概念