1. 程式人生 > >dbrd 8.4.6 源代碼編譯安裝

dbrd 8.4.6 源代碼編譯安裝

all 8.4 掛載磁盤 連接狀態 時間 ignore 重新啟動 override libc

----------------------------
0.系統環境
----------------------------
db01   192.168.50.10  /dev/sdb1  主節點

db02   192.168.50.20  /dev/sdb1  備節點


# grep -v "#" /etc/hosts
192.168.50.10 db01 db01.mysql.com
192.168.50.20 db02 db02.mysql.com



#一塊新硬盤
ll /dev/sd*
ll /dev/sdb*
brw-rw---- 1 root disk 8, 16 Jun 24 13:37 /dev/sdb
brw-rw---- 1 root disk 8, 17 Jun 24 13:37 /dev/sdb1


NOTE:sdb1分區未格式化.


----------------------------
1.準備安裝環境
----------------------------

yum install -y make automak kernel kernel-devel kernel-headers gcc flex libxslt


----------------------------
2.編譯安裝drbd
----------------------------

wget http://oss.linbit.com/drbd/8.4/drbd-8.4.6.tar.gz

tar xzf drbd-8.4.6.tar.gz

cd drbd-8.4.6

------------------#開始編譯安裝drbd,和8.4.5之前版本號有所不同,這裏不用./configure,直接make就能夠了

./configure --prefix=/usr/local/drbd --with-km --with-heartbeat --sysconfdir=/etc/

#with-km開啟內核模塊
#with-heartbeat 開啟heart支持

#ls -ld /usr/src/kernels/$(uname -r)/


make KDIR=/usr/src/kernels/$(uname -r)/  #指定內核源路徑開始編譯

#make install

--直接結果:
make -C drbd install
make[1]: Entering directory `/soft/drbd-8.4.6/drbd'
install -d //lib/modules/2.6.32-431.el6.x86_64/updates
install -m 644 drbd.ko //lib/modules/2.6.32-431.el6.x86_64/updates
/sbin/depmod -a || /sbin/depmod -e drbd.ko 2>&1 >/dev/null || true
make[1]: Leaving directory `/soft/drbd-8.4.6/drbd'


編譯成功模塊安裝位置
#modprobe -l | grep -i drbd
updates/drbd.ko





載入模塊
# modprobe drbd

#lsmod | grep drbd

drbd                  376868  0 
libcrc32c               1246  1 drbd

----------------------------
3.編譯安裝drbd-utils
----------------------------

#wget http://oss.linbit.com/drbd/drbd-utils-8.9.3.tar.gz-P /usr/local/src/

# tar -xf drbd-utils-8.9.3.tar.gz -C /usr/local/src


# cd /usr/local/src/drbd-utils-8.9.3


這裏用了--without-83support,由於安裝的是8.4以上版本號

#./configure --prefix=/usr/local/drbd --sysconfdir=DIR --without-83support

/******************參數具體解釋

Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root [DATAROOTDIR/doc/drbd]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
  --enable-spec           Rather than creating Makefiles, create an RPM spec
                          file only

Optional Packages:
  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
  --without-83support     Do not include support for drbd driver/module <= 8.3
  --without-84support     Do not include support for drbd driver/module 8.4
  --with-udev             Enable udev integration
  --with-xen              Enable Xen integration
  --with-pacemaker        Enable Pacemaker integration
  --with-heartbeat        Enable Heartbeat v1 haresources integration scripts
  --with-rgmanager        Enable Red Hat Cluster Suite integration
  --with-bashcompletion   Enable programmable bash completion
  --with-distro           Configure for a specific distribution (supported
                          values: generic, redhat, suse, debian, gentoo,
                          slackware; default is to autodetect)
  --with-initdir          Override directory for init scripts (default is
                          distribution-specific)
  --with-noarchsubpkg     Build subpackages that support it for the "noarch"
                          architecture (makes sense only with --enable-spec,
                          supported by RPM from 4.6.0 forward)
  --with-systemdunitdir=DIR
                          Directory for systemd service files [Auto]
  --with-tmpfilesdir=DIR  install configuration files for management of
                          volatile files and directories in DIR
                          [[PREFIX/lib/tmpfiles.d]]
  --with-initscripttype=INIT_SCRIPT_TYPE
                          Type of init script to install (sysv|systemd|both).
                          [auto]


********************************/




#make

#make install 


成功安裝後drbd相關的工具(drbdadm,drbdsetup)被安裝到/usr/local/drbd-utils-8.9.3/etc/sbin文件夾下

#cp /usr/local/drbd/etc/rc.d/init.d/drbd /etc/rc.d/init.d/

#chkconfig --add drbd

#chkconfig  --level  2345  drbd  on


#鏈接drbd的命令到系統命令路徑
ln -s   /usr/local/drbd/sbin/*  /usr/bin/


----------------------------
4.設置drbd.conf配置文件
----------------------------

本次編譯安裝配置文件位置:/usr/local/drbd/etc/

#vi /etc/drbd.conf



----------------------------
5.啟動
----------------------------

----5.0 在兩臺機器上配置r0資源  

兩臺機器上分別初始化r0資源,創建DRBD分區
準備初始化之前。須要分別在2個主機上的 空白分區上創建對應的元數據保存的數據塊:
常見之前現將兩塊空白分區徹底清除數據,分別在兩個主機上運行

dd  if=/dev/zero  of=/dev/sdb1  bs=1M  count=128 

drbdadm -c /etc/drbd.conf create-md all
或
drbdadm -c /etc/drbd.conf create-md r0  


--5.1啟動兩個節點drbd

mkdir -p /usr/local/drbd/var/run/drbd

#/etc/init.d/drbd start  

Starting DRBD resources: no resources defined!
no resources defined!
no resources defined!
PS:提示未定義“資源”。這是由於剛安裝好的DRBD,默認沒有*.res配置文件


#netstat |grep 7788



--5.2 查看狀態:

#/etc/init.d/drbd status 

drbd driver loaded OK; device status:
version: 8.4.6 (api:1/proto:86-101)
GIT-hash: 833d830e0152d1e457fa7856e71e11248ccf3f70 build by [email protected]
/* */, 2015-06-24 13:47:15 m:res cs ro ds p mounted fstype 0:r0 Connected Secondary/Secondary Inconsistent/Inconsistent C cs:表示連接狀態 ro: 表示主從關系 上面的表示都為從 ds:硬盤狀態信息 上面表示已經實時同步中。Inconsistent:不一致 # cat /proc/drbd version: 8.4.6 (api:1/proto:86-101) GIT-hash: 833d830e0152d1e457fa7856e71e11248ccf3f70 build by [email protected]
/* */, 2015-06-24 13:47:15 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----- ns:40088 nr:0 dw:0 dr:40248 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0 # drbd-overview 0:r0/0 Connected Secondary/Secondary Inconsistent/Inconsistent --5.3 查看版本號 #cat /proc/drbd --5.4 查看位置 whereis drbd ---------------------------- 6.操作 ---------------------------- ----6.1 設置節點為主節點 #第1步:設置主從第一次運行 #drbdadm -- --overwrite-data-of-peer primary all #第2步:第一次運行後尋常運行以下兩個當中一個命令 #drbdadm primary --force r0 #drbdadm primary all #第3步:設置當前節點為主節點 # cat /proc/drbd version: 8.4.6 (api:1/proto:86-101) GIT-hash: 833d830e0152d1e457fa7856e71e11248ccf3f70 build by [email protected]
/* */, 2015-06-24 13:47:15 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----- ns:40088 nr:0 dw:0 dr:40248 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0 #drbdadm primary --force r0 # cat /proc/drbd version: 8.4.6 (api:1/proto:86-101) GIT-hash: 833d830e0152d1e457fa7856e71e11248ccf3f70 build by [email protected], 2015-06-24 13:47:15 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----- ns:40088 nr:0 dw:0 dr:40248 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0 說明:ro狀態變為ro:Primary/Secondary;ds狀態為:UpToDate/UpToDate(inconsisten) 即"實時/實時(不一致)" -----6.2 磁盤格式化(僅僅對primary節點格式化) #drbd-overview 0:r0/0 Connected Primary/Secondary UpToDate/UpToDate 同步完畢之後。就能夠對空白磁盤格式化了. #mkfs.ext4 /dev/drbd0 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=1024 (log=0) Fragment size=1024 (log=0) Stride=0 blocks, Stripe width=0 blocks 10040 inodes, 40088 blocks 2004 blocks (5.00%) reserved for the super user First data block=1 Maximum filesystem blocks=41156608 5 block groups 8192 blocks per group, 8192 fragments per group 2008 inodes per group Superblock backups stored on blocks: 8193, 24577 Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 33 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. ----6.3掛載DRBD分區到本地(僅僅能在primary節點上掛載) # mkdir /drbd_data # mount /dev/drbd0 /drbd_data/ # cd /drbd_data/ #ls ----6.4 常見命令 --6.4.1 查看資源角色(前面代表當前資源角色) # drbdadm role r0 Primary/Secondary ---6.4.2 查看資源連接狀態 #drbdadm cstate r0 Connected ---6.4.3 查看硬盤數據狀態 # drbdadm dstate r0 UpToDate/UpToDate ----6.4.4 註意事項 1.主備server同步的兩個分區大小最好同樣(網上沒有關於分區大小是否一定要同樣的確切說法) 2.開始同步兩個節點的磁盤,須要一定時間,在同步完畢前,不要重新啟動,否則會又一次同步。 3.掛載之前一定要先切換當前節點為主節點 4.兩個節點中,同一時刻僅僅能有一臺處於primary狀態,還有一臺處於secondary狀態。 5.處於從節點(secondary)狀態的server不能載入drbd塊設備 6.將主節點切換為從節點之前要先卸載 7.一臺主機切換為主節點之前,要確保還有一臺主機已切換為從節點。 ---------------------------- 7.測試DRBD數據鏡像 ---------------------------- ----7.1格式化掛載磁盤 #mkfs.ext4 /dev/drbd0 # mkdir /drbd_data # mount /dev/drbd0 /drbd_data/ # cd /drbd_data/ ---7.2 生成測試數據 #touch /drbd_data/test.txt #dd if=/dev/zero of=/drbd_data/test.tmp bs=1M count=20 # drbdadm dstate r0 UpToDate/UpToDate ---7.3 將主節點drbd的狀態變為從 # drbdadm role r0 Primary/Secondary #umount /drbd_data #drbdadm secondary all # drbdadm role r0 Secondary/Secondary ---7.4 在從節點上進行掛載 #drbdadm role r0 Secondary/Secondary #drbdadm primary all #drbdadm role r0 Primary/Secondary #mkdir /drbd_data #mount /dev/drbd0 /drbd_data/ # ls -ls /drbd_data/ total 20493 12 drwx------ 2 root root 12288 Jun 24 17:02 lost+found 20481 -rw-r--r-- 1 root root 20971520 Jun 24 17:20 test.tmp 測試成功.

dbrd 8.4.6 源代碼編譯安裝

相關推薦

dbrd 8.4.6 編譯安裝

all 8.4 掛載磁盤 連接狀態 時間 ignore 重新啟動 override libc ---------------------------- 0.系統環境 ---------------------------- db01 192.168.50.10

下載編譯安裝

httpd 一、從官網下載壓縮的包(建議去官網下載,可以省去很多麻煩),如果不知道官網可以應用rpm -qi 包名 可以看到該包的許多詳細信息。 二、解壓縮,一般情況下都會使用tar壓縮,所以使用tar -xvf 可以解開壓縮包,然後進入已經解壓的包裏。 三、./configure --prefi

centos升級Git 編譯安裝

local 環境 close class con 一次 usr perl OS 準備工作: CentOS 上的最新git版本也只有1.8.3,就想試著裝上最新的版本,沒想到差點玩脫,全當記錄一次冒險經歷 Development tools 沒裝的要裝上,不然GCC編譯

在CentOS6上手動編譯安裝httpd2.2.34版本的一些操作。

源碼編譯 httpd服務 1,第一步,首先關閉防火墻。 service iptables stop ; chkconfig iptables off ; 2, 關閉SELinux setenforce 0 改配置文件 : vim /etc/selinux/config

Linux中如何從編譯安裝程序

mage 操作系統安裝 cee 說明 alt 服務 RoCE tps color 現代的Linux發行版本通常使用軟件包管理機制對軟件進行打包安裝,省去了軟件的 編譯安裝過程,但在有些情況下,仍然需要使用源代碼編譯安裝的方式為操作系統安裝新的應用程序,下面我們來了解一下編譯

Linux編譯安裝程序

install 都是 完成 包管理 linux操作 大型 發行版 linux發行版 代碼 在Linux操作系統中搭建一些大型服務時,考慮兼容性與功能的擴展,通常會選擇源代碼安裝軟件。現代的Linux發行版本通常都是使用軟件包管理機制對軟件進行打包安裝,這樣既省去了軟件的編譯

Win7+VS2010:mysql 編譯與調試

tracking load soft vs2012 height lin 下一步 細節 cor win7+vs2010源代碼編譯mysql 近期因為在實習,工作重點在於一些數據庫的開發,為了更好的理解數據庫的實現機制。眼下萌生了

spring系列(一)sring編譯 spring下載 spring閱讀

java、 配置環境變量 lin 代碼閱讀 -c 領域 結構 XML 命令 想對spring框架進行深入的學習一下,看看源碼,提升和沈澱下自己,工欲善其事必先利其器,還是先搭建好開發環境吧。 環境搭建 sping源代碼之前是svn管理,如今已經遷移到了githu

Lighttpd1.4.20分析 筆記 狀態機之錯誤處理和連接關閉

全部 階段 內存 and ces ons keep ren log 這裏所說的錯誤有兩種: 1.http協議規定的錯誤,如404錯誤。 2.server執行過程中的錯誤。如write錯誤。 對於http協議規定的錯誤,這裏的“錯誤”是針對clien

UE4的編譯

board hub github 代碼 connected ue4 gpo img eal 源代碼地址 https://github.com/EpicGames 1.在官網關聯github賬戶 https://www.unrealengine.com/dashb

rpm yum 編譯

query round node x86 php 版本 預編譯 .rpm etc 程序包的編譯與安裝 程序源代碼-->預編譯-->編譯-->匯編-->鏈接-->運行 鏈接時關聯到相關的數據庫 編譯又分靜態編譯:程序文件自帶庫動態編譯:.so程序

《unix環境高級編程·第三版》編譯及使用

source pre mark 源代碼編譯 core nat var stdout strcat 《unix環境高級編程·第三版》源代碼編譯及使用 《unix環境高級編程》中有很多示例代碼需要包含作者自定義的頭文件,如"apue.h"。這些代碼可以從以下網址下載 http

54. Netty編譯

netty一. 前言 看完RocketMQ的源代碼後,其namesrv和broker通信機制使用的就是Netty,故對Netty產生了興趣。根據自己一般學習的規律,都是先把源代碼下載,編譯出來,然後斷點已經打日誌調試。所以這篇文章介紹mac下面怎麽下載編譯Netty源代碼。 二. 下載源代碼 github源

下載android4.4.2全過程(附已下載的

.repo dir tracking popu android-s article ica 端口 1.2 版權聲明:本文為博主原創文章,未經博主同意不得轉載。 https://blog.csdn.net/maosidiaoxian/ar

linux下的軟件包管理與方式安裝軟件

軟件包 軟件包管理工具 dpkg與rpm 高級軟件包管理工具APT 源代碼編譯安裝軟件 1、什麽是軟件包?軟件包是指將應用程序、配置文件和管理數據打包的產物。2、Linux下常用的基本軟件包管理工具有兩種:dpkg工具和RPM工具。對應於兩種不同格式的軟件包,即.deb格式與.rpm格式。

Linux下閱讀工具安裝

查看 vim fine 工具安裝 下載源 fir 源碼安裝 ihe efi 綜合他們多篇博客,做一個自己的總結(從0開始,記錄過程) 系統:ubuntu 16.04 vim:7.4.1689 內容來源: https://www.cnblogs.com/wangzhe163

CentOS-6 編譯安裝httpd 2.4

啟動 app 源碼 apachectl eve pid nologin tar.bz2 yum 編譯httpd2.4 "註意:httpd2.4 依賴apr 1.4+以上 ,apr-util-1.4+以上" 1,解壓縮包至任意目錄 tar apr-1

Centos6.8編譯安裝zabbix3.4.1

cati minimum 訪問 epel源 編譯安裝 其余 selinux tar.gz clas 一、安裝系統環境 Zabbix服務器運行環境為Linux+PHP+Nginx+MySQL,以下為安裝詳細版本環境: Centos 6.8 + PHP 7.1.8 + Ng

編譯安裝Samba 4.8.2做域控

CentOS Samba DC 域控 Samba 4.8.2發布了,再次用源碼包編譯安裝一下測試做域控。10.0.0.10 Centos7 1708 64 bit10.0.0.11 Win 10 RSAT 首先修改一下主機名[root@localhost ~]# vi /etc/hostnam

將IDEA maven項目中src下的xml等資源文件編譯進classes文件夾

默認 文件的 ips src directory htm 文件夾 ref 編譯 如題,IDEA的maven項目中,默認源代碼目錄下的xml等資源文件並不會在編譯的時候一塊打包進classes文件夾,而是直接舍棄掉。 如果使用的是Eclipse,Eclipse的src目錄下