日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

在CentOS 6.3 64bit上安装Apache Trafficserver 4.2.3挂载SAS硬盘和SSD

發布時間:2023/11/27 生活经验 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在CentOS 6.3 64bit上安装Apache Trafficserver 4.2.3挂载SAS硬盘和SSD 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我在調研ATS 4.2.3掛載SSD的過程中,遇到很多坑,特此詳細記錄我摸索的主要過程,以便大家以后避免之。
基本思路可以完全照搬參考文獻[2][3]

下面的安裝假定是以root用戶身份進行的,Linux服務器已經安裝好系統,磁盤已經做好分區。
首先需要認識我們的Linux服務器的硬件配置和軟件情況
硬件配置:
DELL R720 2U服務器
CPU ?8核 Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz
內存 32G
硬盤 ?系統盤 /dev/sda 300GB
? ? ? ssd /dev/sd{b,c} 240GB * 2
? ? ? 普通磁盤 /dev/sd{d-l} ?2TB * 9
軟件配置:
操作系統 CentOS release 6.3 (Final)
內核 ? ? 2.6.32-279.el6.x86_64
注意:我們這里僅是測試,只使用兩塊2TB普通SAS磁盤和一塊240G SSD來供ATS測試,其他盤都沒有使用。

1.磁盤格式化問題
使用SSD作為interim cache緩存中間層解決方案,需要磁盤和SSD完全是裸盤,也就是不要分區和格式化。
如果是全新盤,可以不做任何操作,如果不是全新盤,需求刪除所有分區,下面的bash腳本create_partition.sh實現了fdisk分區的功能,并創建了一個分區,后來又使用另一個腳本delete_partition.sh刪除了這個分區,最后得到了所謂的裸盤。
希望你有更好的方法得到一個裸盤。腳本create_partition.sh的內容
#!/bin/bash
fdisk $1<<EOF
d
n
p
1
1

t
83
w
EOF
另一個腳本delete_partition.sh的內容
#!/bin/bash
fdisk $1<<EOF
d
w
EOF
使用方法是:如果要將SAS或是SSD磁盤/dev/sdl變為裸盤,運行
sh create_partition.sh /dev/sdl
sh delete_partition.sh /dev/sdl
就可以了。對于一個主流的服務器來說,如果只想使用其中的兩塊磁盤,可以對它們分別執行上面的操作。當然,如果是線上環境,這個方法還待改進。

2.創建新用戶并管理裸設備
這一步非常關鍵,關系到后面步驟的順利性,故拿到前面來做。
新建用戶
useradd -s /sbin/nologin tserver
我們打算將tserver作為ATS所在的user和group名稱。使用如下命令檢測用戶組是否創建成功
cat /etc/passwd |cut -f 1 -d :
增加如下設備文件
vim /etc/udev/rules.d/99-ats.rules?
將你要管理的裸設備都添加到里面,包括SSD和SAS,我這里使用了兩塊2TB普通SAS磁盤和一塊240G SSD,所以如下設置
KERNEL=="sdk",MODE="0660",OWNER="tserver",GROUP="tserver"
KERNEL=="sdl",MODE="0660",OWNER="tserver",GROUP="tserver"
KERNEL=="sdb",MODE="0660",OWNER="tserver",GROUP="tserver"
保存退出后,更新設備信息
start_udev
驗證改動是否成功,查看
ll /dev/sd[bcdefghijkl]

3.下載并安裝好ATS 4.2.3
我們打算將ATS安裝到/opt/ats下面,并使用tserver作為用戶和組來管理它。ATS安裝時會自動創建該安裝目錄,同時為了內網測試方便,采用debug版本,線上可以去掉
3.1.安裝依賴包
yum install gcc gcc-c++ pkgconfig pcre-devel tcl-devel expat-devel openssl-devel -y
yum install perl-ExtUtils-MakeMaker -y
yum install libcap libcap-devel hwloc hwloc-devel -y
yum install libunwind libunwind-devel -y
yum install autoconf automake libtool -y
yum install git -y

3.2.下載并解壓
cd /usr/local/src
wget -d "http://mirror.bit.edu.cn/apache/trafficserver/trafficserver-4.2.3.tar.bz2"
tar -jxvf trafficserver-4.2.3.tar.bz2?
cd trafficserver-4.2.3

3.3.編譯和安裝
./configure --prefix=/opt/ats --with-user=tserver --with-group=tserver --enable-reclaimable-freelist --enable-interim-cache --enable-debug
make -j 8
make install -j 8
這里指定安裝前綴的好處是,如果安裝失敗,可以直接刪除掉ats文件夾,再重新編譯和安裝。

4.配置
主要有這幾個文件需要配置:
records.config,storage.config,logs_xml.config
我要達到的效果是正向代理,裸盤,自定義日志等功能。
修改storage.config
添加
/dev/sdl
/dev/sdl
注意ssd的那塊盤/dev/sdb一定不要添加,因為它不是數據盤,你把它視作內存就可以了。

修改records.cofig,將
LOCAL proxy.config.cache.interim.storage STRING NULL
改為
LOCAL proxy.config.cache.interim.storage STRING /dev/sdb
如果是正向代理測試,需要做如下配置
traffic_line -s proxy.config.reverse_proxy.enabled -v 0
traffic_line -s proxy.config.url_remap.remap_required -v 0 #1為只反向代理,0為正向+反向代理
traffic_line -s proxy.config.url_remap.pristine_host_hdr -v 0

traffic_line -s ?proxy.config.http.insert_request_via_str -v 1 ? ?
traffic_line -s ?proxy.config.http.insert_response_via_str -v 2 ? #會產生類似Via:http/1.1 localhost (ApacheTrafficServer/4.2.3 [cHs f ])的頭
traffic_line -s proxy.config.http.cache.required_headers -v 0 ? ? #配置在源服務器沒有定義緩存的情況緩存文件
traffic_line -s proxy.config.http.cache.enable_default_vary_headers -v 1
traffic_line -s proxy.config.cache.ram_cache_cutoff -v 40960 ? ? ?#非常關鍵,確定緩存命中是在RAM cache還是SSD中

根據硬件配置設置RAM cache的大小,一般是物理內存的1/2或1/3為宜,我這里采用默認配置-1,就是讓系統自動分配。
CONFIG proxy.config.log.custom_logs_enabled INT 1
CONFIG proxy.config.log.squid_log_enabled INT 0
CONFIG proxy.config.log.xml_config_file STRING logs_xml.config
其中,logs_xml.config文件內容如下
<LogFormat>
? <Name = "access"/>
? <Format = "%<cqtq> %<ttms> %<pssc> %<sssc> [%<cqtt>] %<{X-Forwarded-For}cqh> \"%<cqtx>\" %<psql> \"%<pqsi>\" %<crc>:%<phr> %<{Referer}cqh> \"%<{User-Agent}cqh>\" %<psct>"/>
</LogFormat>
<LogObject>
? <Format = "access"/>
? <Filename = "access"/>
</LogObject>

5.添加環境變量
echo "export PATH=/opt/ats/bin:$PATH" >> /etc/profile
更新配置文件
source /etc/profile
再次確認環境變量是否添加成功
echo $PATH
這樣的話,在命令行直接運行trafficserver start就可以識別了。

6.安裝tsar并監控
需要能夠監控ATS,特別是ssdhit選項,參見博文
http://blog.csdn.net/tao_627/article/details/44808637
安裝好tsar后直接使用如下命令就可以看到了

tsar --ts_cache -l i 2



7.啟動查看狀態
trafficserver start
查看

echo "show:cache-stats" | traffic_shell


在diags.log中的顯示如下:
也已經說明我們指定的/dev/sdl已經被自動加載了
另外,進入到日志目錄下面,查看訪問日志
cd /opt/ats/var/log/trafficserver
如果沒有自定義日志文件格式,就是默認的squid日志,采用下面的命令查看
traffic_line -f squid.log
如果自定義了日志的文件格式,就直接查看
tail -f access.log
也可以查看traffic_server和traffic_manager進程的日志信息,或者是控制臺信息
tail -f traffic.out
如果允許過程中有段錯誤,這里將會顯示出來


8.說明
a.磁盤的格式化非常關鍵,經過測試,可以使用未分區的裸盤,也可以使用mkfs.ext4命令格式化的偽裸盤都可以,但建議使用純粹的裸盤
b.普通硬盤和SSD的格式化和加載完全一樣處理,可以在線上分批多次添加裸盤或是SSD,以前加載的磁盤不會再格式化,只會對新添加的磁盤做處理,所以已有的緩存數據應該不會損壞。但是對storage.conf的配置更新必須重啟ATS,簡單使用traffic_line -x并不湊效
c.線上服務器的硬盤配置都需要在storage.conf文件中明確指定,如果你有12塊磁盤,但是只在storage.conf中指定4塊,它就只會使用4塊,也就是說,用幾塊就指定幾塊。

d.ssd的配置項proxy.config.cache.interim.storage可以在線更新,但是需要先traffic_server -Cclear清空緩存再執行traffic_server start重建索引,都需要很長時間處理

? traffic_line -s proxy.config.cache.interim.storage -v NULL


e.每次關閉服務器,下次打開服務器時,需要使用traffic_server -Cclear清空緩存,在開啟ATS,否則會有段錯誤。運行過程中的ATS重啟不存在這個問題
f.tsar沒有ATS的監控數據或者ssdhit沒有數據,請檢查tsar編譯時注意修改正確mgmtapisocket路徑和interim相關的配置項
g.ssdhit數據很小,但是ramhit數據很大,這是因為records.config中的proxy.config.cache.ram_cache_cutoff選項造成的,為了壓測ssd性能,請盡量調大這個選項,并使用較大的請求樣本壓測,jtest中就是設置-q參數,比如
? ./jtest -P 10.10.110.81 -p 8080 -S ts.cn -s 9080 -z 1.0 -D 9080 -k 2 -c 500 -Z 1000 -q 100000000
h.使用SSD會極大改善緩存命中效果,并顯著提升ATS的QPS指標,建議線上盡量使用
i.不要將ssd添加到storage.config中,它不是數據磁盤,但是應該將它添加到/etc/udev/rules.d/99-ats.rules中來設置正確的用戶組和權限

參考文獻
[1].https://cwiki.apache.org/confluence/display/TS/CentOS
[2].http://www.huilinwang.com/blog/post/425.html?
[3].http://www.shencan.net/index.php/2012/09/08/trafficserver-%e4%bd%bf%e7%94%a8%e8%a3%b8%e7%9b%98%e9%85%8d%e7%bd%ae/?
[4].https://blog.zymlinux.net/index.php/archives/906

總結

以上是生活随笔為你收集整理的在CentOS 6.3 64bit上安装Apache Trafficserver 4.2.3挂载SAS硬盘和SSD的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。