Linux安裝基本命令大全
公司主營(yíng)業(yè)務(wù):網(wǎng)站建設(shè)、做網(wǎng)站、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶(hù)真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶(hù)帶來(lái)驚喜。創(chuàng)新互聯(lián)公司推出大足免費(fèi)做網(wǎng)站回饋大家。
Linux常用命令,你還能記得多少呢?下文是我為大家準(zhǔn)備的Linux常用命令,一起來(lái)看看吧!
安裝升級(jí)
查看軟件xxx安裝內(nèi)容
dpkg -L xxx
查找軟件庫(kù)中的軟件
apt-cache search 正則表達(dá)式
或
aptitude search 軟件包
顯示系統(tǒng)安裝包的統(tǒng)計(jì)信息
apt-cache stats
顯示系統(tǒng)全部可用包的名稱(chēng)
apt-cache pkgnames
顯示包的信息
apt-cache show k3b
查找文件屬于哪個(gè)包
dpkg -S filename
apt-file search filename
查看已經(jīng)安裝了哪些包
dpkg -l
也可用
dpkg -l | less
翻頁(yè)查看
查詢(xún)軟件xxx依賴(lài)哪些包
apt-cache depends xxx
查詢(xún)軟件xxx被哪些包依賴(lài)
apt-cache rdepends xxx
增加一個(gè)光盤(pán)源
sudo apt-cdrom add
系統(tǒng)更新
sudo apt-get update (這一步更新包列表)
sudo apt-get dist-upgrade (這一步安裝所有可用更新)
或者
sudo apt-get upgrade (這一步安裝應(yīng)用程序更新,不安裝新內(nèi)核等)
清除所有已刪除包的殘馀配置文件
dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
如果報(bào)如下錯(cuò)誤,證明你的系統(tǒng)中沒(méi)有殘留配置文件了,無(wú)須擔(dān)心。
----------------------------------------------------------
dpkg: --purge needs at least one package name argument
Type dpkg --help for help about installing and deinstalling packages [*];
Use `dselect' or `aptitude' for user-friendly package management;
Type dpkg -Dhelp for a list of dpkg debug flag values;
Type dpkg --force-help for a list of forcing options;
Type dpkg-deb --help for help about manipulating *.deb files;
Type dpkg --license for copyright license and lack of warranty (GNU GPL) [*].
Options marked [*] produce a lot of output - pipe it through `less' or `more' !
----------------------------------------------------------
編譯時(shí)缺少h文件的自動(dòng)處理
sudo auto-apt run ./configure
查看安裝軟件時(shí)下載包的臨時(shí)存放目錄
ls /var/cache/apt/archives
備份當(dāng)前系統(tǒng)安裝的所有包的列表
dpkg --get-selections | grep -v deinstall ~/somefile
從上面?zhèn)浞莸陌惭b包的列表文件恢復(fù)所有包
dpkg --set-selections ~/somefile
sudo dselect
清理舊版本的軟件緩存
sudo apt-get autoclean
清理所有軟件緩存
sudo apt-get clean
刪除系統(tǒng)不再使用的孤立軟件
sudo apt-get autoremove
如果使用
sudo apt-get autoremove --purge
的話會(huì)把這些孤立軟件的殘留配置文件也一并移除
查看包在服務(wù)器上面的地址
apt-get -qq --print-uris download 軟件包名稱(chēng) | cut -d\' -f2
徹底刪除Gnome
sudo apt-get --purge remove liborbit2
徹底刪除KDE
sudo apt-get --purge remove libqt3-mt libqtcore4
一鍵安裝 LAMP 服務(wù)
sudo tasksel install lamp-server
刪除舊內(nèi)核
sudo aptitude purge ~ilinux-image-.*\(\!\(`uname -r`\|generic-.*\)\)
導(dǎo)入ppa源的'key值
#W: GPG簽名驗(yàn)證錯(cuò)誤: jaunty Release: 由于沒(méi)有公鑰,下列簽名無(wú)法進(jìn)行驗(yàn)證: NO_PUBKEY 5126890CDCC7AFE0
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 5126890CDCC7AFE0 #5126890CDCC7AFE0替換為你需要導(dǎo)入的Key值
增加 add-apt-repository 命令
sudo apt-get install software-properties-common
增加一個(gè)ppa源
sudo add-apt-repository ppa:user/ppa-name
#使用 ppa 的地址替換 ppa:user/ppa-name
添加163鏡像源
sudo add-apt-repository "deb `lsb_release -cs` main restricted universe multiverse"
sudo add-apt-repository "deb `lsb_release -cs`-updates main restricted universe multiverse"
sudo add-apt-repository "deb `lsb_release -cs`-security main restricted universe multiverse"
系統(tǒng)升級(jí)
1 這里指的是版本間的升級(jí),例如 9.04=10.04。
2 使用該升級(jí)方式通常需要使用 backports 源。
sudo apt-get update
sudo apt-get install update-manager-core
sudo do-release-upgrade
系統(tǒng)
查看內(nèi)核
uname -a
查看系統(tǒng)是32位還是64位
#查看long的位數(shù),返回32或64
getconf LONG_BIT
#查看文件信息,包含32-bit就是32位,包含64-bit就是64位
file /sbin/init
或者使用
uname -m
查看Ubuntu版本
lsb_release -a
或 cat /etc/lsb-release
查看內(nèi)核加載的模塊
lsmod
查看PCI設(shè)備
lspci
查看USB設(shè)備
lsusb
#加參數(shù) -v 可以顯示USB設(shè)備的描述表(descriptors)
lsusb -v
查看網(wǎng)卡狀態(tài)
sudo apt-get install ethtool
sudo ethtool eth0
激活網(wǎng)卡的 Wake-on-LAN
sudo apt-get install wakeonlan
或 sudo ethtool -s eth0 wol g
查看CPU信息
cat /proc/cpuinfo
顯示當(dāng)前硬件信息
sudo lshw
查看內(nèi)存型號(hào)
sudo dmidecode -t memory
獲取CPU序列號(hào)或者主板序列號(hào)
#CPU ID
sudo dmidecode -t 4 | grep ID
#Serial Number
sudo dmidecode | grep Serial
#CPU
sudo dmidecode -t 4
#BIOS
sudo dmidecode -t 0
#主板:
sudo dmidecode -t 2
#OEM:
sudo dmidecode -t 11
顯示當(dāng)前內(nèi)存大小
free -m |grep "Mem" | awk '{print $2}'
查看硬盤(pán)溫度
sudo apt-get install hddtemp
sudo hddtemp /dev/sda
顯示系統(tǒng)運(yùn)行時(shí)間
uptime
查看系統(tǒng)限制
ulimit -a
查看內(nèi)核限制
ipcs -l
查看當(dāng)前屏幕分辨率
xrandr
硬盤(pán)
查看塊設(shè)備
lsblk
查看硬盤(pán)的分區(qū)
sudo fdisk -l
硬盤(pán)分區(qū)
#危險(xiǎn)!小心操作。
sudo fdisk /dev/sda
硬盤(pán)格式化
#危險(xiǎn)!將第一個(gè)分區(qū)格式化為 ext3 分區(qū), mkfs.reiserfs mkfs.xfs mkfs.vfat
sudo mkfs.ext3 /dev/sda1
硬盤(pán)檢查
#危險(xiǎn)!檢查第一個(gè)分區(qū),請(qǐng)不要檢查已經(jīng)掛載的分區(qū),否則容易丟失和損壞數(shù)據(jù)
sudo fsck /dev/sda1
硬盤(pán)壞道檢測(cè)
sudo badblocks -s -v -c 32 /dev/sdb
#得到壞的塊后,使用分區(qū)工具隔離壞道。
分區(qū)掛載
sudo mount -t 文件系統(tǒng)類(lèi)型 設(shè)備路經(jīng) 訪問(wèn)路經(jīng)
#常用文件類(lèi)型如下: iso9660 光驅(qū)文件系統(tǒng), vfat fat/fat32分區(qū), ntfs ntfs分區(qū), smbfs windows網(wǎng)絡(luò)共享目錄, reiserfs、ext3、xfs Linux分區(qū)
#如果中文名無(wú)法顯示嘗試在最後增加 -o nls=utf8 或 -o iocharset=utf8
#如果需要掛載後,普通用戶(hù)也可以使用,在 -o 的參數(shù)後面增加 ,umask=022 如:-o nls=utf8,umask=022
分區(qū)卸載
sudo umount 目錄名或設(shè)備名
只讀掛載ntfs分區(qū)
sudo mount -t ntfs -o nls=utf8,umask=0 /dev/sdb1 /mnt/c
可寫(xiě)掛載ntfs分區(qū)
sudo mount -t ntfs-3g -o locale=zh_CN.utf8,umask=0 /dev/sdb1 /mnt/c
掛載fat32分區(qū)
sudo mount -t vfat -o iocharset=utf8,umask=0 /dev/sda1 /mnt/c
掛載共享文件
sudo mount -t smbfs -o username=xxx,password=xxx,iocharset=utf8 //192.168.1.1/share /mnt/share
掛載ISO文件
sudo mount -t iso9660 -o loop,utf8 xxx.iso /mnt/iso
查看IDE硬盤(pán)信息
sudo hdparm -i /dev/sda
查看軟raid陣列信息
cat /proc/mdstat
參看硬raid陣列信息
dmesg |grep -i raid
cat /proc/scsi/scsi
查看SATA硬盤(pán)信息
sudo hdparm -I /dev/sda
或
sudo apt-get install blktool
sudo blktool /dev/sda id
查看硬盤(pán)剩余空間
df
df --help 顯示幫助
查看目錄占用空間
du -hs 目錄名
閃盤(pán)沒(méi)法卸載
sync
fuser -km /media/閃盤(pán)卷標(biāo)
使用文件來(lái)增加交換空間
#創(chuàng)建一個(gè)512M的交換文件 /swapfile
sudo dd if=/dev/zero of=/swapfile bs=1M count=512
sudo mkswap /swapfile
sudo swapon /swapfile
#sudo vim /etc/fstab #加到fstab文件中讓系統(tǒng)引導(dǎo)時(shí)自動(dòng)啟動(dòng)
/swapfile swap swap defaults 0 0
查看硬盤(pán)當(dāng)前讀寫(xiě)情況
# 首先安裝 sysstat 包
sudo apt-get install sysstat
#每2秒刷新一次
sudo iostat -x 2
測(cè)試硬盤(pán)的實(shí)際寫(xiě)入速度
dd if=/dev/zero of=test bs=64k count=512 oflag=dsync
進(jìn)程
查看當(dāng)前的內(nèi)存使用情況
free
連續(xù)監(jiān)視內(nèi)存使用情況
watch -d free
# 使用 Ctrl + c 退出
動(dòng)態(tài)顯示進(jìn)程執(zhí)行情況
top
top指令運(yùn)行時(shí)輸入H或?打開(kāi)幫助窗口,輸入Q退出指令。
查看當(dāng)前有哪些進(jìn)程
ps -AFL
查看進(jìn)程的啟動(dòng)時(shí)間
ps -A -opid,stime,etime,args
查看目前登入用戶(hù)運(yùn)行的程序
w
查看當(dāng)前用戶(hù)程序?qū)嶋H內(nèi)存占用,并排序
ps -u $USER -o pid,rss,cmd --sort -rss
統(tǒng)計(jì)程序的內(nèi)存耗用
ps -eo fname,rss|awk '{arr[$1]+=$2} END {for (i in arr) {print i,arr[i]}}'|sort -k2 -nr
按內(nèi)存從大到小排列進(jìn)程
ps -eo "%C : %p : %z : %a"|sort -k5 -nr
列出前十個(gè)最耗內(nèi)存的進(jìn)程
ps aux | sort -nk +4 | tail
按cpu利用率從大到小排列進(jìn)程
ps -eo "%C : %p : %z : %a"|sort -nr
ps aux --sort -pcpu |head -n 20
查看當(dāng)前進(jìn)程樹(shù)
pstree
中止一個(gè)進(jìn)程
kill 進(jìn)程號(hào)(就是ps -A中的第一列的數(shù)字)
或者 killall 進(jìn)程名
強(qiáng)制中止一個(gè)進(jìn)程(在上面進(jìn)程中止不成功的時(shí)候使用)
kill -9 進(jìn)程號(hào)
或者 killall -9 進(jìn)程名
圖形方式中止一個(gè)程序
xkill 出現(xiàn)骷髏標(biāo)志的鼠標(biāo),點(diǎn)擊需要中止的程序即可
查看進(jìn)程打開(kāi)的文件
lsof -p 進(jìn)程的pid
顯示開(kāi)啟文件abc.txt的進(jìn)程
lsof abc.txt
顯示22端口現(xiàn)在運(yùn)行什么程序
lsof -i :22
顯示nsd進(jìn)程現(xiàn)在打開(kāi)的文件
lsof -c nsd
在後臺(tái)運(yùn)行程序,退出登錄後,并不結(jié)束程序
nohup 程序
#查看中間運(yùn)行情況 tail nohup
在后臺(tái)運(yùn)行交互式程序,退出登錄后,并不結(jié)束程序
sudo apt-get install screen
screen vim a.txt
#直接退出后使用
screen -ls # 2208pxs-0.ubuntu (Detached)
screen -r 1656 #恢復(fù)
#熱鍵,同時(shí)按下Ctrl和a鍵結(jié)束后,再按下功能鍵
C-a ? #顯示所有鍵綁定信息
C-a w #顯示所有窗口列表
C-a C-a #切換到之前顯示的窗口
C-a c #創(chuàng)建一個(gè)新的運(yùn)行shell的窗口并切換到該窗口
C-a n #切換到下一個(gè)窗口
C-a p #切換到前一個(gè)窗口(與C-a n相對(duì))
C-a 0..9 #切換到窗口0..9
C-a a #發(fā)送 C-a到當(dāng)前窗口
C-a d #暫時(shí)斷開(kāi)screen會(huì)話
C-a k #殺掉當(dāng)前窗口
在后臺(tái)運(yùn)行交互式程序,退出登錄后,并不結(jié)束程序
tmux 進(jìn)入后再運(yùn)行其它命令
tmux attach #恢復(fù)
#熱鍵,同時(shí)按下Ctrl和b鍵結(jié)束后,再按下功能鍵
C-b c #創(chuàng)建一個(gè)新的運(yùn)行shell的窗口并切換到該窗口
C-b n #切換到下一個(gè)窗口
C-b p #切換到前一個(gè)窗口(與C-a n相對(duì))
C-b 0..9 #切換到窗口0..9
C-b d #暫時(shí)斷開(kāi)會(huì)話
C-b #殺掉當(dāng)前窗口
詳細(xì)顯示程序的運(yùn)行信息
strace -f -F -o outfile
增加系統(tǒng)最大打開(kāi)文件個(gè)數(shù)
#ulimit -SHn
sudo vim /etc/security/limits.conf
文件尾追加
* hard nofile 4096
* soft nofile 4096
sudo vim /etc/pam.d/su
將 pam_limits.so 這一行注釋去掉
重起系統(tǒng)
清除僵尸進(jìn)程
ps -eal | awk '{ if ($2 == "Z") {print $4}}' | xargs sudo kill -9
將大于120M內(nèi)存的php-cgi都?xì)⒌?/p>
ps -eo pid,fname,rss|grep php-cgi|grep -v grep|awk '{if($3=120000) print $1}' | xargs sudo kill -9
Linux系統(tǒng)中如何限制用戶(hù)進(jìn)程CPU占用率
renice +10 `ps aux | awk '{ if ($3 0.8 id -u $1 500) print $2}'`
#或直接編輯/etc/security/limits.conf文件。 ;
在Linux 操作系統(tǒng) 中,可在虛擬機(jī)上搭建DB2 pureScale,那么搭建的步驟是怎么樣的呢?DB2 pureScale又有什么用呢?下面隨我一起來(lái)了解下Linux系統(tǒng)如何在虛擬機(jī)上部署DB2 pureScale。
在虛擬機(jī)Linux上部署DB2pureScale實(shí)踐過(guò)程
1、環(huán)境準(zhǔn)備
硬件環(huán)境:3 臺(tái) x86-64虛擬機(jī),內(nèi)存要求 1.5G 或以上(主要針對(duì)虛擬機(jī),內(nèi)存過(guò)低會(huì)造成數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)失敗)
操作系統(tǒng):Suse Linux Enterprise Server 11.3
DB2 版本:DB2 v10.5
機(jī)器名:node01 node02 node03
IP:192.168.18.201 192.168.18.202 192.168.18.203
網(wǎng)關(guān):192.168.18.2
利用iscsi服務(wù)來(lái)做共享存儲(chǔ)功能,其中node01 作為 iscsi 的 Server,node01、node02和 node03 作為 iscsi Client,這樣三臺(tái)虛擬機(jī)上都能看到相同的磁盤(pán)了(按照developer workers上的 文章 :非 InfiniBand 環(huán)境下搭建 DB2 pureScale,我用DB2 v10.5時(shí)啟動(dòng)實(shí)例失敗,可能10.5做了限制,CF與member在同一臺(tái)機(jī)器啟動(dòng)失敗,幫多了一臺(tái)虛擬機(jī))。
2、操作系統(tǒng)安裝:
Node01預(yù)留出一塊分區(qū),不進(jìn)行格式化(文件類(lèi)型為0x83 Linux)做為 pureScale 集群的 Sharing Disk 使用,Node02與Node03跟node01 其它 相同就可,
安裝必要的包:
libstdc++(32 位和 64 位庫(kù))
glibc(32 位和 64 位庫(kù))
cpp
gcc
gcc-c++
kernel-source
binutils
ksh-93u-0.8.1
openssh
ntp
完成SUSE 11 SP3的安裝。
驗(yàn)證:檢查/lib/modules/3.0.76-0.11-default/build/include/linux有無(wú)autoconf.h,如果沒(méi)有autoconf.h,安裝DB2時(shí)會(huì)報(bào)Compiling GPL :.......Failure錯(cuò)誤。
解決 方法 :cp –v /usr/src/linux-3.0.76-0.11-obj/x86_64/default/include/generated /lib/modules/3.0.76-0.11-default/build/include/linux
3、添加用戶(hù)和用戶(hù)組
三臺(tái)機(jī)器全部執(zhí)行如下命令(如果不做特殊說(shuō)明,以#表示root身份登錄,以$表示db2inst1身份,以下相同)。
#groupadd -g 1001 db2fadm1
#groupadd -g 1002 db2iadm1
#useradd -g db2fadm1 -u 1001 -m -d /home/db2fenc1 -p db2fenc1 db2fenc1
#useradd -g db2iadm1 -u 1002 -m -d /home/db2inst1 -p db2inst1 db2inst1
#mkdir /root/.ssh
# su - db2inst1 -c "mkdir -p /home/db2inst1/.ssh"
4、配置ssh 信任連接
ssh信任通俗的說(shuō)就是直接ssh不用輸入密碼
在/etc/hosts添加另外兩臺(tái)機(jī)器的IP地址及機(jī)器名(確保3臺(tái)機(jī)器名與ip地址全部出現(xiàn)在hosts文件中)
例如我的機(jī)器hosts如下:
127.0.0.1 localhost
192.168.18.201 node01.site node01
192.168.18.202 node02.site node02
192.168.18.203 node03.site node03
node01執(zhí)行如下命令:
#ssh-keygen -t rsa
#cp -v /root/.ssh/id_rsa.pub /root/.ssh/id01
#scp /root/.ssh/id01 node02:/root/.ssh
#scp /root/.ssh/id01 node03:/root/.ssh
#su - db2inst1
$ssh-keygen -t rsa
$cp -v /home/db2inst1/.ssh/id_rsa.pub /home/db2inst1/.ssh/id01
$scp /home/db2inst1/.ssh/id01 node02:/home/db2inst1/.ssh
$scp /home/db2inst1/.ssh/id01 node03:/home/db2inst1/.ssh
node02執(zhí)行如下命令:
#ssh-keygen -t rsa
#cp -v /root/.ssh/id_rsa.pub /root/.ssh/id02
#scp /root/.ssh/id02 node01:/root/.ssh/
#scp /root/.ssh/id02 node03:/root/.ssh/
#su - db2inst1
$ssh-keygen -t rsa
$cp -v /home/db2inst1/.ssh/id_rsa.pub /home/db2inst1/.ssh/id02
$scp /home/db2inst1/.ssh/id02 node01:/home/db2inst1/.ssh/
$scp /home/db2inst1/.ssh/id02 node03:/home/db2inst1/.ssh/
node03執(zhí)行如下命令:
#ssh-keygen -t rsa
#cp -v /root/.ssh/id_rsa.pub /root/.ssh/id03
#scp /root/.ssh/id03 node01:/root/.ssh
#scp /root/.ssh/id03 node02:/root/.ssh
#su - db2inst1
$ssh-keygen -t rsa
$cp -v /home/db2inst1/.ssh/id_rsa.pub /home/db2inst1/.ssh/id03
$scp /home/db2inst1/.ssh/id03 node01:/home/db2inst1/.ssh/
$scp /home/db2inst1/.ssh/id03 node02:/home/db2inst1/.ssh/
分別在node01、node02、node03執(zhí)行如下命令
#cd /root/.ssh
#cat id01 id02 id03 authorized_keys
#chmod 600 authorized_keys
#su - db2inst1
$cd /home/db2inst1/.ssh
$ cat id01 id02 id03 authorized_keys
測(cè)試是否配置成功
3臺(tái)機(jī)器分別以root與db2inst1執(zhí)行:
#ssh node01 ls
#ssh node02 ls
#ssh node03 ls
#su - db2inst1
$ssh node01 ls
$ssh node02 ls
$ssh node03 ls
確保不用輸入密碼,則配置成功。
5、ISCSI 共享存儲(chǔ)配置
Iscsi server端配置(node01上執(zhí)行):
修改/etc/ietd.conf,添加如下內(nèi)容:
Target iqn.2014-03.node01.site:scsidisk01
Lun 0 Path=/dev/sda4,Type=fileio
注意:我的未分區(qū)硬盤(pán)為/dev/sda4,你的可能不一樣的@_@~~~~
添加自啟動(dòng)
#chkconfig -a iscsitarget
檢查是否成功
#chkconfig -l iscsitarget
結(jié)果:iscsitarget 0:off 1:off 2:off 3:on 4:off 5:on 6:off
重啟iscsitarget服務(wù)
# /etc/init.d/iscsitarget restart
iscsi client端配置(node01、node02、node03執(zhí)行,):
iscsitarget文件內(nèi)容如下:
#! /bin/sh
### BEGIN INIT INFO
# Provides: iscsiclsetup
#node02與node03上如果未裝iscsitarget需將下下行的$iscsitarget
# Required-Start: $network $syslog $iscsitarget $remote_fs smartd
# Required-Stop:
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Description: ISCSI client setup
### END INIT INFO
case "$1" in start)
iscsiadm --mode discoverydb --type sendtargets --portal 192.168.18.201 --discover
iscsiadm --m node --targetname iqn.2014-03.node01.site:scsidisk01 --portal 192.168.18.201:3260 --login
;;
stop)
iscsiadm -m node -T iqn.2014-03.node01.site:scsidisk01 -p 192.168.18.201 --logout
;;
restart) ## Stop the service and regardless of whether it was ## running or not, start it again.
$0 stop
$0 start
;;
*)
Esac
保存后執(zhí)行:#/etc/init.d/iscsiclient restart
驗(yàn)證iscsiclient是否啟動(dòng)成功:
#fdisk -l
檢查有無(wú)/dev/sdb出現(xiàn)
6、配置Linux環(huán)境變量
/etc/profie.local添加內(nèi)容
alias sl='tail -f /var/log/messages'
alias fc='fcslogrpt /var/log/messages'
export PATH=/root/bin:/usr/sbin/rsct/bin:/opt/ibm/db2/v10.5/bin:$PATH
export PATH=/usr/lpp/mmfs/bin:$PATH
export DB2USENONIB=TRUE
export DB2_CFS_GPFS_NO_REFRESH_DATA=true
然后執(zhí)行# . /etc/profile.local,完成后你就可以安裝purescale了,我猜測(cè)應(yīng)該是設(shè)置了變量DB2USENONIB,使purescale不再要求你強(qiáng)制InfiniBand或萬(wàn)兆網(wǎng)卡,使我等窮人可以有機(jī)會(huì)玩這種高檔、洋氣、上檔次的數(shù)據(jù)庫(kù)。。。
7、DB2 V10.5 的安裝:
node01:~/server_t # ./db2_install
DBI1324W Support of the db2_install command is deprecated. For
more information, see the DB2 Information Center.
Default directory for installation of products - /opt/ibm/db2/V10.5
***********************************************************
Install into default directory (/opt/ibm/db2/V10.5) ? [yes/no]
yes
Specify one of the following keywords to install DB2 products.
SERVER
CONSV
EXP
CLIENT
RTCL
Enter "help" to redisplay product names.
Enter "quit" to exit.
***********************************************************
server
***********************************************************
Do you want to install the DB2 pureScale Feature? [yes/no]
Yes
曾經(jīng)出現(xiàn)的錯(cuò)誤:
ERROR: An error occurred while compiling IBM General Parallel File System
(GPFS) Portability Layer (GPL) on host "node01". Return code "2". GPL
compilation log file location "/tmp/compileGPL.log.000". The GPFS file system
cannot be mounted properly until the GPL module is successfully compiled on
this host. For details, see the specified GPL compilation log. After fixing
the problems shown in the log file, re-run the DB2 installer. For information
regarding the GPFS GPL module compile, see DB2 Information Center.
Compiling GPL :.......Failure
ERROR: A major error occurred while installing "DB2 Server Edition " on this
computer.
解決方案:
查看錯(cuò)誤日志:compileGPL.log.000,為以下內(nèi)容:
cd /usr/lpp/mmfs/src/config; ./configure --genenvonly; if [ $? -eq 0 ]; then /usr/bin/cpp -P def.mk.proto ./def.mk; exit $? || exit 1; else exit $?; fi
手工執(zhí)行時(shí)會(huì)發(fā)現(xiàn)在./configure --genenvonly; 這一步報(bào)找不到
/usr/bin/diff: /lib/modules/3.0.76-0.11-default/build/include/linux/autoconf.h: No such file or directory
Kernel source tree does not have the correct autoconf.h file.
See /usr/lpp/mmfs/src/README for further information
手工拷唄一下autoconf.h文件即可
#cp –v /usr/src/linux-3.0.76-0.11-obj/x86_64/default/include/generated/autoconf.h /lib/modules/3.0.76-0.11-default/build/include/linux/
GPFS 文件系統(tǒng)配置與掛載
方法1:使用db2cluster_prepare
node01上執(zhí)行:
#/opt/ibm/db2/v10.5/instance/db2cluster_prepare -instance_shared_dev /dev/sdb
DBI1446I The db2cluster_prepare command is running.
DB2 installation is being initialized.
Total number of tasks to be performed: 1
Total estimated time for all tasks to be performed: 60 second(s)
Task #1 start
Description: Creating IBM General Parallel File System (GPFS) Cluster and Filesystem
Estimated time 60 second(s)
Task #1 end
The execution completed successfully.
For more information see the DB2 installation log at
"/tmp/db2cluster_prepare.log".
DBI1070I Program db2cluster_prepare completed successfully.
此時(shí)df -l查看一下會(huì)發(fā)現(xiàn)多了一個(gè)掛載點(diǎn)
node01:/opt/ibm/db2/V10.5/instance # df -l
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 19599036 8122392 10481060 44% /
udev 958688 120 958568 1% /dev
tmpfs 958688 76 958612 1% /dev/shm
/dev/sda3 10327940 154460 9648836 2% /home
/dev/db2fs1 15728640 627712 15100928 4% /db2sd_20140401103940
曾經(jīng)出現(xiàn)報(bào)錯(cuò):
DBI20022E The DB2 installer detected that the variable record "GPFS_CLUSTER" is
defined in the global registry. However, the GPFS cluster does not exist on
host "node01".
Creating IBM General Parallel File System (GPFS) Cluster and Filesystem :.......Failure
查看/tmp/ibm.db2.cluster.GuOypP發(fā)現(xiàn)有如下內(nèi)容報(bào)錯(cuò):
014-04-01-10.26.12.358494+480 I5385E400 LEVEL: Warning
PID : 7469 TID : 139670848014112 PROC : db2cluster
INSTANCE: NODE : 000
HOSTNAME: node01
FUNCTION: DB2 UDB, oper system services, sqloMessage, probe:1
MESSAGE : Cannot obtain registry variables
DATA #1 : Hexdump, 4 bytes
0x00007FFF17631758 : B400 0F87
解決方案:由于此前我在此機(jī)器上試過(guò)N次db2cluster_prepare,包括V9.8、V10.1,V10.5安裝,導(dǎo)致全局注冊(cè)表變量沒(méi)有刪除干凈,使用db2greg -dump
V,GPFS_CLUSTER,NAME,db2cluster_20140403105617.site,-,DB2_CREATED將其刪除。
#cp -v /var/db2/global.reg /var/db2/global.reg_20140401
#db2delgreg -delvarrec service= GPFS_CLUSTER
總結(jié) :db2cluster_prepare這個(gè)命令失敗時(shí)
檢查iscsi client是否準(zhǔn)備好,fdisk -l查看一下是否有/dev/sdb
全局注冊(cè)表變量是否未刪除干凈 ,db2greg -dump查看
檢查一下是否tsa的domain存在,lsrpdomain,使用rmrpdomain將其刪掉,如果其node為活動(dòng)需先將其node停掉。具體參考tsa相關(guān)命令,
檢查一下gpfs cluster domain是否未清理干凈,如果未清理干凈,需要使用將fs、nsd、node清理掉,具體命令參考gpfs信息中心。
方法2:手工掛載GPFS
遇到過(guò)使用db2cluster_prepare時(shí)無(wú)法成功,手工安裝(不確定是否遇到了 傳說(shuō) 中的bug)。
創(chuàng)建cluster,不加-filesystem -disk選項(xiàng):
node01:
#db2cluster -cfs -create -domain mydomain -host node01
#db2cluster -cfs -add -host node02
# db2cluster -cfs -add -host node03
說(shuō)明:上面如果不出故障當(dāng)然可以加上-filesystem –disk參數(shù),當(dāng)然也可以用mmaddnode –N XXX來(lái)添加節(jié)點(diǎn)
添加許可協(xié)議:
提供兩種方法
#mmchlicense server --accept -N node01,node02,node03
#/opt/ibm/db2/v10.5/bin/db2cluster -cfs -add -license
創(chuàng)建nsd:任意node執(zhí)行
編寫(xiě)newNSD文件內(nèi)容如下
%nsd:
device=/dev/sdb
nsd=nsd1
usage=dataAndMetadata
#mmcrnsd -F /tmp/newNSD (-v no)
如果報(bào)mmcrnsd: Disk device sdb refers to an existing NSD,而使用mmlsnsd 又查找不到相應(yīng)的nsd,添加-v no可以跳過(guò)此驗(yàn)證。
#mmlsnsd 查看創(chuàng)建的nsd名稱(chēng),記下,在第3步時(shí)需要用到.
創(chuàng)建Cluster File System并掛載
啟動(dòng)所有node,任意node執(zhí)行
#mmstartup -a
#mmgetstate -a
確保所有node全部啟動(dòng)成功為active
# mmcrfs -T /db2sd_20140401 db2sd_20140401 nsd1(此處的nsd1為第2步的nsd名稱(chēng))
#mmmount all -a
--曾經(jīng)出現(xiàn)的錯(cuò)誤:mmstartup -a無(wú)響應(yīng)
,查看日志/var/adm/ras/mmfs.log.previous
Tue Apr 1 22:02:11 CST 2014: runmmfs starting
Removing old /var/adm/ras/mmfs.log.* files:
Unloading modules from /lib/modules/3.0.76-0.11-default/extra
runmmfs: The /lib/modules/3.0.76-0.11-default/extra/mmfslinux.ko kernel extension does not exist.
runmmfs: Unable to verify kernel/module configuration.
Loading modules from /lib/modules/3.0.76-0.11-default/extra
runmmfs: The /lib/modules/3.0.76-0.11-default/extra/mmfslinux.ko kernel extension does not exist.
runmmfs: Unable to verify kernel/module configuration.
Tue Apr 1 22:02:11 CST 2014 runmmfs: error in loading or unloading the mmfs kernel extension
Tue Apr 1 22:02:11 CST 2014 runmmfs: stopping GPFS
解決方案:重新編譯一下gpfs的源碼,因?yàn)槭止ば遁dgpfs。
/usr/lpp/mmfs/src/README有詳細(xì)的編譯方法:主要命令方法如下:
#cd /usr/lpp/mmfs/src
#make Autoconfig
#make InstallImages
make InstallImages會(huì)在/lib/modules/`uname -r`/extra目錄生成3個(gè)文件,大功告成.
創(chuàng)建實(shí)例
創(chuàng)建實(shí)例前:
node02#/opt/ibm/db2/V10.5/instance/db2icrt -cf node01 -cfnet node01
-m node02 -mnet node02 -instance_shared_dir /db2sd_20140401
-tbdev 192.168.18.2 -u db2fenc1 db2inst1
-tbdev 官方解釋為:Specifies a shared device path for a device that will act as a tiebreaker in the DB2 pureScale environment to ensure that the integrity of the data is maintained. 通俗的講就是在member出現(xiàn)故障時(shí),判斷哪個(gè)member可以恢復(fù)服務(wù),窮屌絲們就用網(wǎng)關(guān)IP來(lái)代替了,只要能 ping 通即可判斷為可用。
此時(shí)執(zhí)行:# db2instance -instance db2inst1 -list可以查看
node01:/opt/ibm/db2/V10.5/instance # mmlscluster
GPFS cluster information
========================
GPFS cluster name: db2cluster_20140401103900.site
GPFS cluster id: 6571095102926235332
GPFS UID domain: db2cluster_20140401103900.site
Remote shell command: /var/db2/db2ssh/db2locssh
Remote file copy command: /var/db2/db2ssh/db2scp
GPFS cluster configuration servers:
-----------------------------------
Primary server: node01.site
Secondary server: node02.site
Node Daemon node name IP address Admin node name Designation
----------------------------------------------------------------------
1 node01.site 192.168.18.201 node01.site quorum-manager
2 node02.site 192.168.18.202 node02.site quorum-manager
曾經(jīng)出現(xiàn)報(bào)錯(cuò):
錯(cuò)誤1、報(bào)2632-044、2632-068,此類(lèi)錯(cuò)誤為創(chuàng)建tsa domain時(shí)的錯(cuò)誤,原因在于虛擬機(jī)是拷貝的,不是重新安裝的。
解決方法:#/usr/sbin/rsct/install/bin/recfgct
啟動(dòng)實(shí)例
node01:$/home/db2inst1/sqllib/adm/db2start
怎么樣,報(bào)錯(cuò)了吧,應(yīng)該是SQL1721N
SQL1721N Starting the DB2 database manager failed because of a problem with a configuration file that is needed by RDMA.受打擊吧。
你裝完了實(shí)例啟動(dòng)不了,沒(méi)關(guān)系,這么高檔的玩意怎么能讓你這么快啟動(dòng)啊。
你得設(shè)置兩個(gè)注冊(cè)表變量才能用普通網(wǎng)絡(luò).
$db2set DB2_SD_SOCKETS_RESTRICTIONS=false
$db2set DB2_CA_TRANSPORT_METHOD=SOCKETS
使用如下命令可以查看CF與member的狀態(tài)。
#db2instance -instance db2inst1 -list
node01:/home/db2inst1 # db2instance -instance db2inst1 -list
ID TYPE STATE HOME_HOST CURRENT_HOST ALERT PARTITION_NUMBER LOGICAL_PORT NETNAME
-- ---- ----- --------- ------------ ----- ---------------- ------------ -------
0 MEMBER STARTED node02 node02 NO 0 0 node02
128 CF PRIMARY node01 node01 NO - 0 node01
HOSTNAME STATE INSTANCE_STOPPED ALERT
-------- ----- ---------------- -----
node01 ACTIVE NO NO
node02 ACTIVE NO NO
此時(shí)你可以使用lssam查看tsa的兩個(gè)節(jié)點(diǎn)的狀態(tài)。
#lssam
添加成員
將node03添加為另一個(gè)member,如果實(shí)例沒(méi)有啟動(dòng)會(huì)自動(dòng)啟動(dòng)實(shí)例,所以預(yù)先將上一步的兩臺(tái)機(jī)器上的db2set執(zhí)行完畢先。
node01:
#/opt/ibm/db2/v10.5/instance/db2iupdt -d -add -m node03 –mnet node03 db2inst1
#su - db2inst1 -c "db2start member 1"
開(kāi)啟你的purescale之旅
#db2sampl
執(zhí)行完畢后兩臺(tái)member都可以看到數(shù)據(jù)庫(kù)sample,可以同時(shí)對(duì)庫(kù)進(jìn)行操作
可以在命令行下啟動(dòng)這個(gè)服務(wù)呀service named startchkconfig named on這個(gè)是讓服務(wù)器啟動(dòng)后自動(dòng)啟動(dòng)DNS這個(gè)服務(wù)
網(wǎng)頁(yè)題目:nsd命令linux linux nss
URL分享:http://jinyejixie.com/article10/dosjcdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、靜態(tài)網(wǎng)站、小程序開(kāi)發(fā)、服務(wù)器托管、標(biāo)簽優(yōu)化、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)