星期一, 6月 27, 2016

Dell OpenManage (OMSA) on XenServer 7

XenServer 7 釋出的消息真的是讓人非常興奮

抱著嘗鮮的心態,立馬下載

另外值得慶賀的是,XenServer 終於從CENTOS5 升級到 CENTOS 7了 (灑花)

[安裝Dell Openmanage]
還沒來的及體驗新的功能,倒是花了不少時間把Dell Openmanage (OMSA) 安裝起來
大致上跟之前的安裝方式類似,不過有一些步驟有一些些的差異 (還好有善心的鄉民分享)

1.加入Dell OpenManage Repository安裝來源
wget -q -O - http://linux.dell.com/repo/hardware/DSU_16.06.00/bootstrap.cgi | bash

這部分我有測試使用16.06安裝,但似乎會有問題 ,還在測試中(暫時先用16.05)
實驗過後可以直接使用16.06來安裝

2.編輯 CentOS-Base.repo
vi /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
 把[base] 部分的 mirrorlist 跟baseurl註解,手動加入來源
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
baseurl=http://mirrors.kernel.org/centos/7.2.1511/os/x86_64/
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
 3.安裝Openmanage,按下Y開始同意安裝套件
yum --enablerepo=base install srvadmin-all
 4.在防火牆中加入1311PORT
vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m conntrack --ctstate NEW -m tcp -p tcp --dport 1311 -j ACCEPT
 重新啟動防火牆讓設定生效
systemctl restart iptables
 5.啟動Openmanage服務
 /opt/dell/srvadmin/sbin/srvadmin-services.sh start
6.打開瀏覽器就可以開始使用了
/opt/dell/srvadmin/sbin/srvadmin-services.sh start

[設定Email Notifications]
1.安裝mailx
wget http://mirror.centos.org/centos/7.2.1511/os/x86_64/Packages/mailx-12.5-12.el7_0.x86_64.rpm
rpm -ivh mailx-12.5-12.el7_0.x86_64.rpm
2.設定 ssmtpd.conf
vi /etc/ssmtp/ssmtp.conf
mailhub=mail.yourdomain.com:25
AuthUser=username
AuthPass=password
rewriteDomain=server1.yourdomain.com

hostname=server1.yourdomain.com

3.建立 shell script 來發送MAIL通知 (from http://idolinux.blogspot.tw)
# vi /usr/local/bin/om-alert.sh

#!/bin/sh
HOST=`hostname`
EMAIL="my_admin@my_network.net"
echo "There has been an OpenManage ALERT detected on $HOST.  Please login to the web interface to see details." | mail  -s "OM ALERT $HOST  $1" $EMAIL
注意,新版本的mailx 如果-s不是立刻接在後方會造成主旨空白,不知道是否後方接MAIL的格式有錯誤造成
4. 你可以在 web介面 一筆一筆加入通知或是利用命令列加入MAIL發送通知
chmod +x /usr/local/bin/om-alert.sh
逐個項目加入

omconfig system alertaction
omconfig system alertaction -?
omconfig system alertaction event=powersupply execappath=/usr/local/bin/om-alert.sh
omconfig system alertaction event=storagesyswarn alert=true broadcast=true execappath=/usr/local/bin/om-alert.sh
omreport system alertaction

或是加入所有項目的通知
for I in `omconfig system alertaction | sed 's/ *(.*)//; s/>.*//; s/.*[:<] *// ; s/|/ /g;'`; do
echo $I;
omconfig system alertaction event=$I alert=true broadcast=true execappath="/usr/local/bin/om-alert.sh $I"
done 
Reference
Dell Openmanage in XenServer 7
Quick Dell OpenManage Email Alerts
Manual Reference Pages  - MAILX (1)

星期三, 12月 16, 2015

OpenVAS - 503 Service temporarily down

今天要把許久沒拿出來的OPENVAS 做一下系統弱點掃描。
執行掃描動作的時候,卻出現
503  Service temporarily down
試了許多方法,直到這位鄉民提出的方法,才順利解決
Solution: 
#重新製作憑證
openvas-mkcert -f
openvas-mkcert-client -i -n
#restart all daemons.
/etc/init.d/openvas-scanner restart
/etc/init.d/ gsad restart

Reference

OpenVAS 7 + Arch Linux > "Service temporarily down"

星期三, 10月 28, 2015

VM 無法光碟開機(XenServer 6.5)

有一台VM 開機的時候無法使用光碟開機,
檢查boot option 只有Hard disk。

爬文一下,發現只要這樣下就可以:
xe vm-param-set HVM-boot-policy="BIOS order" uuid=[uuid of your vm]
處理好之後再改回來
xe vm-param-set HVM-boot-policy="" uuid=[uuid of your vm]

Reference
Boot a guest VM from CD or DVD in XenServer 

星期五, 9月 04, 2015

使用extundelete (CENTOS 6) 救回EXT3誤刪的檔案

雖然最後結果可能是因為已經被覆蓋沒有救援回來,但是還是筆記一下,日後或許能派上用場。
再次說明備份的重要性,資料最常在沒有備份的時候發生意外。

1.下載e2fsprogs,等下編譯會用到的元件
yum install  e2fsprogs-devel  e2fsprogs e2fsprogs-libs
 2.下載extundelete
wget http://downloads.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2?r=&ts=1441332731&use_mirror=nchc
 3.解壓縮並且安裝
bzip2 -d extundelete-0.2.4.tar.bz2
tar xvf extundelete-0.2.4.tar
cd  extundelete-0.2.4
./configure
make && make install
4.開始救回檔案
(1)救回某一特定位置的檔案
假設今天有一個/root/xxx.jpg 檔案被刪除
首先查看該檔案所在目錄的inode
ls -id /root/
393220     /root/
有了inode之後,我們接著來查看一下該位置所在硬碟分割區
df /home/pic/
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda6       10321208 5251064   4545856  54% /
接著來查看一下被刪除的檔案是否存在(建議先卸載該分割區在進行救援)
extundelete /dev/sda6 --inode 393220
File name                                   |Inode number | Deletestatus
.
..
xxx.jpg                                           393639         Deleted
有看到被刪除的檔案,開始進行救援
extundelete /dev/sda6 --resotre-file /root/xxx.jpg
救出來的檔案會被存放在目前位置的RECOVERD_FILES 資料夾內。

(2)救援整個分割區的資料
extundelete /dev/sda6  --restore-all
救出來的檔案一樣是存放在目前位置的RECOVERD_FILES 資料夾內。

最後還是要重申一下,備份的重要性,備份原則可以參考
世界備份日( World Backup Day):三二一原則

當然還有更細部的即時備份,版本控制跟保存期限....等需要去思考,當然這牽扯的範圍就比較廣跟比較大了。

Reference
How to recover deleted files with extundelete on RHEL6.1 Santiago
使用extundelete救回ext3、ext4檔案系統下誤刪的檔案
Linux ext3 系統下刪除檔案救回全記錄

星期三, 8月 19, 2015

實用的shell script

(一)取得日期的方法
TODAY=`date +%Y%m%d`
YESTERDAY=`date -d'-1 day' +%Y%m%d`
LAST_MONTH=`date -d'-1 month' +%Y%m%d`

當然你可以搭配 單純取得年、月、日的作法
GYear=`date +%Y'
GMonth=`date +%m'
GDay=`date +%d'

取得前一天
FYDay=`date -d'-1 day' +d`

(二)Shell Script 執行SQL語法(MySQL)
#!/bin/bash
echo "INSERT INTO test (ID,NAME,DATE) VALUES ('1', 'PENNY', '2015/08/19');" | mysql -uroot -pPASSWORD DBNAME;



Reference
Shell Script 取得日期的方法
Bash script to insert values in MySQL

星期日, 8月 16, 2015

btrfs - no space left on device

最近系統更新的時候,一直出現「no space left on device」。
但是執行 df -h 檢查空間,明明空間沒有滿,但是確實無法新增檔案,連系統桌面都無法登入。

GOOGLE找了一下答案,才知道原來是因為使用了btrfs檔案格式的關係。
(我也不知道為什麼我這次會想嘗試這個檔案格式)
檔案格式各有其優缺點,這邊也不是要針對這部份去做比較去跟討論。

接著要來著手解決一下這個問題。
如果你跟我一樣使用btrfs格式,那麼請不要相信df -h。
那麼要如何察看呢?
#btrfs filesystem show
 那麼那些消失的空間哪去了呢?
#snapper list
那麼要如何刪除這些snapper檔案呢? (#表示snapper list編號,請從最舊的開始)
snapper delete root #
或是你可以一口氣刪除
# for i in `seq 1 3656`;do snapper delete $i;done
接著檢查一下snapper 設定,/etc/snapper /configs/root
有兩個比較重要的地方
NUMBER_LIMIT="10"
NUMBER_LIMIT_IMPORTANT="10"
消失的空間回來了。

Referenece
 The joys of btrfs and OpenSuSE – or “no space left on device”

星期五, 8月 07, 2015

Awstats @ CentOS

Awstats 是一個非常棒的紀錄檔分析套件

接下來記錄一下簡單安裝跟設定步驟


cd ~
wget http://prdownloads.sourceforge.net/awstats/awstats-7.4.tar.gz
tar zxvf awstats-7.4.tar.gz
mv awstats-7.4 /usr/local/awstats
ln -s /usr/local/awstats /usr/share/awstats
cd /usr/local/awstats/tools
perl awstats_configure.pl
接著回答幾個簡單的問題
#請輸入Apache Server的設定檔路徑
Config file path ('none' to skip web server setup):
> /etc/httpd/conf/httpd.conf

#是否需要產生新的設定檔
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ?
y

#輸入你的站台名稱,但僅只是設定檔名稱,妳可以取妳喜歡名稱
Your web site, virtual server or profile name:
> www

#設定檔存放路徑
Directory path to store config file(s) (Enter for default):
#按下ENTER 預設
 接著依照提示按下ENTER完成整個設定
chmod 755 /usr/local/awstats
mkdir /var/lib/awstats
緊接著將中文化語系修改為UTF-8
cd /usr/local/awstats/wwwroot/cgi-bin/lang
iconv -f big5 -t utf-8 awstats-tw.txt -o awstats-tw-utf8.txt
vi awstats-tw-utf8.txt
將PageCode=big5,修改為PageCode=utf-8
接著修改awstats.pl 語系表
vi /usr/local/awstats/wwwroot/cgi-bin/awstats.pl
找到將 'zh-tw'=>'tw' 修改成 'zh-tw'=>'tw-utf8'
最後修改設定檔
vi  /etc/awstats/awstats.www.conf
LogFile="/var/log/httpd/mylog.log" 修改成  LogFile="/var/log/httpd/access_log"
SiteDomain="www" 修改成 SiteDomain="xxx.xxx.edu.tw"
DNSLookup=2 修改成 DNSLookup=1
Lang="auto" 修成  Lang="tw-utf8"

 #更新資料(把他寫進系統排成)
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=www -update  
vi /etc/crontab
#awstats
00 */6 * * * root /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=www -update





如果你不希望統計資料任何人都可以存取,記得設定瀏覽權限。

 vi /etc/httpd/conf/httpd.conf

    Options None
    AllowOverride None
    Order allow,deny
   # Allow from All

Allow from ip

service httpd restart
最後打開瀏覽器觀看成果
http://ip/awstats/awstats.pl?config=www

Reference
CentOS 5 伺服器建置流程