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

第1章 YUM

1.1 什麼是yum

Yellowdog Updater, Modified前端

一個基於RPM包管理的字符前端軟件包管理器。可以從指定的服務器自動下載RPM包而且安裝,能夠處理依賴性關係,而且一次安裝全部依賴的軟件包,無須繁瑣地一次次下載、安裝。python

簡單來講就是軟件倉庫--yum/倉庫,相似於電腦管家之類。linux

1.2 查看系統中有什麼yum

yum repolist 目錄能夠列出服務器中使用的什麼yum源。數據庫

[root@znix ~]# yum repolist緩存

Loaded plugins: fastestmirror, security服務器

Loading mirror speeds from cached hostfile網絡

 * base: mirrors.aliyun.com併發

 * epel: mirrors.aliyun.comapp

 * extras: mirrors.aliyun.comcurl

 * 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  是一個小軟件,哈哈。

[root@znix ~]# yum install htop sl -y

1.6 清除yum緩存   

清除本地的yum緩存。

yum clean all

1.7 查看系統yum源信息時可能出現的錯誤

1.7.1 可能出現的錯誤

[root@oldboy-40 ~]# yum repolist

Loaded plugins: fastestmirror, security

Loading mirror speeds from cached hostfile

repolist: 0

[root@znix ~]# 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 常見錯誤

[root@znix ~]# 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命令。

    [root@znix ~]# 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爲單位顯示。

[root@clsn ~]# 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 內存相關的文件

[root@znix ~]# 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 查看磁盤的信息

[root@znix ~]# 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 命令能夠進行交互式命令,前面通過管道傳輸後能夠進行非交互計算。

[root@znix ~]# echo 1+2

1+2

[root@znix ~]# echo 1+2|bc

3

bc默認取值整數

3.3.2 awk 'BEGIN{pirnt }' 方法

awk的方法能夠顯示小數位。

[root@znix ~]# 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要求的格式

[root@znix ~]# head /etc/init.d/iptables

#!/bin/sh

#

# iptables  Start iptables firewall

#

# chkconfig: 2345 08 92

    必須有的格式

使用chkconfig --add 添加上管理腳本便可。

相關文章
相關標籤/搜索