測試平台: ubuntu server 10.10
# vi /etc/pam.d/proftpd
session required pam_mkhomedir.so umask=0022 skel=/etc/skel
測試平台: ubuntu server 10.10
# vi /etc/pam.d/proftpd
session required pam_mkhomedir.so umask=0022 skel=/etc/skel
1st time => portsnap fetch extract
2nd and later => portsnap fetch update
如果我要計算目錄下面 某個副檔名或是某關鍵字檔名的大小加總的話
可以使用awk 來實現
例如
ls -l /var/log/maillog* | awk '{ SUM += $5 } END { print SUM/1024/1024 }'
計算出來的單位是MB
Sed and Awk: Pocket Reference
作者: Robbins, Arnold
原文出版社:Oreilly & Associates Inc
出版日期:2002/06/01
語言:英文
定價:348元
現在買歐萊禮全書系購書,不限金額,買就送「歐萊禮專屬筆記本」!買一送一,數量有限,送完為止!
http://www.books.com.tw/exep/assp.php/es/exep/prod/books/editorial/publisher_chart.php?pubid=oreilly
如果不想刪除帳號或是要讓ldap 某個account暫時停用的話
似乎沒有直接的屬性可以使用,想到最單純的方法可能是用ACL來實現了
首先編輯slapd.conf 多加一行include /usr/local/etc/openldap/acl_disabled.conf
vi /usr/local/etc/openldap/slapd.conf
include /usr/local/etc/openldap/acl_disabled.conf
access to *
by * read
access to attrs=userPassword
by self write
by * auth
未來如果有要暫時disable一個帳號的話只需要維護acl_disabled.conf
vi /usr/local/etc/openldap/acl_disabled.conf
access to dn="uid=peter,ou=sales,dc=helloworld,dc=com,dc=xx"
by * none
access to dn="uid=mary,ou=tech,dc=helloworld,dc=com,dc=xx"
by * none
比較麻煩的是..每次編輯完記得重新啟動ldap server才會生效,反正帳號不會常異動啦XDDD
另外就是不適用有replication的環境啊orz
postsuper -d ALL
cd /etc/openldap/ssl
openssl genrsa -out ldap.test.com.key 1024
openssl req -new -key ldap.test.com.key -out ldap.test.com.csr
openssl x509 -req -days 7200 -in ldap.test.com.csr -signkey ldap.test.com.key -out ldap.test.com.crt
vi /etc/openldap/slapd.conf
TLSCipherSuite HIGH::MEDIUM:LOW
TLSCertificateFile /etc/openldap/ssl/ldap.test.com.crt
TLSCertificateKeyFile /etc/openldap/ssl/ldap.test.com.key
/etc/init.d/ldap restart
cat /etc/services | grep ldap
ldap 389/tcp
ldap 389/udp
ldaps 636/tcp # LDAP over SSL
ldaps 636/udp # LDAP over SSL
檢查一下有沒有LISTEN兩個port
netstat -na | grep LISTEN
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:636 0.0.0.0:* LISTEN
升級前
telnet 0 22
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.4p1 FreeBSD-20100308
步驟:抓source回來解開
./configure && make && make install
修改/etc/rc.conf
sshd_enable="YES"
sshd_program="/usr/local/sbin/sshd"
或是 cd /usr/sbin && mv sshd sshd.bak && ln -s /usr/local/sbin/ssh ssh
測試
telnet 0 22
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.8
大功告成
如果擔心遠端升級有風險的話請先把telnet打開
vi /etc/inetd.conf
telnet stream tcp nowait root /usr/libexec/telnetd telnetd
重啟inetd服務
kill -HUP `cat /var/run/inetd.pid`
測試sshd可以正常運作後記得再把telnet關掉
網路線插上25/26 port沒有反應,
原來是光纖模組和RJ-45的孔是共用的,同時只能有一個連線
所以預設是光纖模組可以運作,RJ-45的孔是shutdown
修改設定如下
<4500>system-view
System View: return to User View with Ctrl+Z.
[4500]interface GigabitEthernet 1/0/27 (這一個port是面板上面看到的25port)
[4500-GigabitEthernet1/0/25]undo shutdown
Warning: the combo ports will be available after the switch rebooting and the
configuration on unit1 will be saved automatically before rebooting, are you
sure to switch combo ports on unit1? [Y/N] y
The unit1 will reboot after few minutes,please wait...
之後系統會自動重開機,開完之後就可以用了,因為有兩個giga port要改,所以需要重開機兩次
以往同步檔案的時候通常client無法得知source有哪些檔案備異動過
所以透過rsync跟source端要資料時,需要將一整個目錄重新比對過,然後將有異動的部分複製到目的端
透過lsyncd+rsync則是在source端有異動資料的時候,主動透過rsync將異動的部分丟到目的端
測試平台 CentOS 5.5
來源端 10.0.0.1
安裝rsync+lsyncd
yum -y install lsyncd
啟動lsyncd
lsyncd /home/mirror/ 10.0.0.2::mirror/
/home/mirror 為要監控的來源目錄,10.0.0.2::mirror 則是遠端要更新的路徑
目的端 10.0.0.2
編輯 /etc/rsyncd.conf
[mirror]
path = /home/mirror
hosts allow = 10.0.0.1
read only = no
commect = mirror from 10.0.0.1
安裝xinetd並讓rsync可以透過xinetd可以被呼叫
yum -y install xinetd
vi /etc/inetd.d/rsync
disable = yes 改成 disable = no
service xinetd restart
這樣就可以運作了,試著將source的目錄做一些異動看看唄
可以觀察到SRC端的process,會針對有異動的目錄進行同步到DEST端,不會把一個目錄全部比對一次
/usr/bin/rsync --delete -ltd /home/mirror//test1/ 10.0.0.2::mirror//test1/
以及DEST端的process
rsync --daemon
yum groupinstall "X Window System" "GNOME Desktop Environment"
或是
yum groupinstall "X Window System" "KDE (K Desktop Environment)"
(SizeofDatabase * NumberOfReplicas * 1.1 ) / NumberOfDataNodes
MySQL官方資料 : http://dev.mysql.com/doc/refman/5.0/fr/mysql-cluster-faq.html
ERROR 1214 (HY000) The used table type doesn't support FULLTEXT indexes
不可以有FULLTEXT index
ERROR 1118 (42000) Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8052. You have to change some columns to TEXT or BLOBs
欄位長度總和不能過長
測試新增一個ndbcluster的table ...裡面只有一個欄位,最大的長度到varchar (2680)而以,再大就過不去了 >_<
在virtualbox中建立了一個linux環境,開開心心的檔案複製一份
想要開第二台linux起來,但是就是不給你加入
原因是每一個virtualbox的虛擬硬碟 *.vdi 都有自己的uuid , 為的就是不要和別人重複
要怎麼修改ssid咧
以windows環境下的virtualbox為例 (檔案放在低潮)
VBoxManage.exe internalcommands setvdiuuid d:\vbox\server2.vdi
認識虛擬化技術的第一本書(超圖解,學習無負擔)
おうちで学べる仮想化のきほん
作者: 高岡将, 高添修
譯者: 許郁文
出版社:碁峰
出版日期:2016/02/01
語言:繁體中文
定價:380元
mgm node看起來沒什麼load,決定把他加上sql node的群組
[root@node1 ~]# vi /var/lib/mysql-cluster/config.ini
[mysqld]
hostname=10.0.0.102
id=2
[mysqld]
hostname=10.0.0.101
id=11
[root@node1 ~]# vi /etc/my.cnf
[mysqld]
ndbcluster # run NDB storage engine
ndb-connectstring=node1
[mysql_cluster]
ndb-connectstring=node1
ndb服務shutdown (補充說明一下,這個動作可以把ndb_mgmd & ndbd 都shutdown , mysqld 不會shutdown)
[root@node1 ~]# ndb_mgm -e shutdown
重新再讀一次設定檔
[root@node1 ~]# ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial
再去data node 把ndbd帶起來
最後把sql node的mysqld 帶起來,當然包括剛剛加上去的node1
[root@node1 ~]# service mysql start
觀察一下目前cluster的狀態
[root@node1 ~]# ndb_mgm -e show
Connected to Management Server at: node1:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=3 @10.0.0.103 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0, Master)
id=4 @10.0.0.104 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @10.0.0.101 (mysql-5.1.44 ndb-7.1.4)
[mysqld(API)] 2 node(s)
id=2 @10.0.0.102 (mysql-5.1.44 ndb-7.1.4)
id=11 @10.0.0.101 (mysql-5.1.44 ndb-7.1.4)
最後如果可以讀到在其他sql node建立起來的資料的話就是成功囉!!
mysql> select * from table1;
+------+
| a |
+------+
| 1 |
| 2 |
+------+
2 rows in set (0.01 sec)
將MyISAM的table格式轉換為cluster格式
mysql> ALTER TABLE table1 ENGINE=NDBCLUSTER;
Query OK, 2 rows affected (0.96 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> show create table `table1`;
+--------+------------------------------------
| Table | Create Table
+--------+------------------------------------
| table1 | CREATE TABLE `table1` (
`a` int(11) DEFAULT NULL
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 |
+--------+------------------------------------
1 row in set (0.01 sec)
-rw-rw---- 1 mysql mysql 8554 Aug 11 15:34 table1.frm
-rw-rw---- 1 mysql mysql 0 Aug 11 15:34 table1.ndb
-rw-rw---- 1 mysql mysql 8554 Aug 11 15:05 table2.frm
-rw-rw---- 1 mysql mysql 0 Aug 11 15:05 table2.ndb
開始建table囉
首先看看有沒有支援ndbcluster
mysql> show engines;
| ndbcluster | YES .... (略)
mysql> use test;
以前會醬子create table
mysql> create table `table1` (a int);
Query OK, 0 rows affected (0.06 sec)
現在你要醬子create table
mysql> create table `table2` (a int) ENGINE=ndbcluster;
Query OK, 0 rows affected (0.73 sec)
實際到os下面看看檔案格式有什麼不一樣
-rw-rw---- 1 mysql mysql 8554 Aug 11 14:59 table1.frm
-rw-rw---- 1 mysql mysql 0 Aug 11 14:59 table1.MYD
-rw-rw---- 1 mysql mysql 1024 Aug 11 14:59 table1.MYI
-rw-rw---- 1 mysql mysql 8554 Aug 11 15:05 table2.frm
-rw-rw---- 1 mysql mysql 0 Aug 11 15:05 table2.ndb
塞幾筆資料進去看看
mysql> insert table1 values (1);
mysql> insert table1 values (2);
mysql> insert table2 values (1);
mysql> insert table2 values (2);
mysql> select * from table1;
+------+
| a |
+------+
| 1 |
| 2 |
+------+
2 rows in set (0.00 sec)
mysql> select * from table2;
+------+
| a |
+------+
| 1 |
| 2 |
+------+
2 rows in set (0.00 sec)
再看一下檔案有甚麼不一樣
-rw-rw---- 1 mysql mysql 8554 Aug 11 14:59 table1.frm
-rw-rw---- 1 mysql mysql 14 Aug 11 15:07 table1.MYD
-rw-rw---- 1 mysql mysql 1024 Aug 11 15:07 table1.MYI
-rw-rw---- 1 mysql mysql 8554 Aug 11 15:05 table2.frm
-rw-rw---- 1 mysql mysql 0 Aug 11 15:05 table2.ndb
嗯..看起來data都是已經寫到data node去囉:D
master 現在是node3
[root@node3 ~]# ndb_mgm -e show
Connected to Management Server at: 10.0.0.101:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=3 @10.0.0.103 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0, Master)
id=4 @10.0.0.104 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @10.0.0.101 (mysql-5.1.44 ndb-7.1.4)
[mysqld(API)] 1 node(s)
id=2 @10.0.0.102 (mysql-5.1.44 ndb-7.1.4)
試試模擬node3的ndbd掛掉的時候看看會怎樣
[root@node3 ~]# killall ndbd
node4接手變成master了
[root@node3 ~]# ndb_mgm -e show
Connected to Management Server at: 10.0.0.101:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=3 (not connected, accepting connect from 10.0.0.103)
id=4 @10.0.0.104 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0, Master)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @10.0.0.101 (mysql-5.1.44 ndb-7.1.4)
[mysqld(API)] 1 node(s)
id=2 @10.0.0.102 (mysql-5.1.44 ndb-7.1.4)
重啟在node3啟動ndbd後會怎樣咧??
[root@node3 ~]# ndb_mgm -e show
Connected to Management Server at: 10.0.0.101:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=3 @10.0.0.103 (mysql-5.1.44 ndb-7.1.4, starting, Nodegroup: 0)
id=4 @10.0.0.104 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0, Master)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @10.0.0.101 (mysql-5.1.44 ndb-7.1.4)
[mysqld(API)] 1 node(s)
id=2 @10.0.0.102 (mysql-5.1.44 ndb-7.1.4)
[root@node3 ~]# ndb_mgm -e show
Connected to Management Server at: 10.0.0.101:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=3 @10.0.0.103 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0)
id=4 @10.0.0.104 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0, Master)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @10.0.0.101 (mysql-5.1.44 ndb-7.1.4)
[mysqld(API)] 1 node(s)
id=2 @10.0.0.102 (mysql-5.1.44 ndb-7.1.4)
嗯.. 結論是..node4繼續當他的master ... (筆記)
MySQL的cluster主要分為3種node
mgm node 沒錯,照字面上看起來就是管理用的node
sql node 未來查詢都會透過這個node來做增刪改查
data node 存放資料的地方
首先準備4台機器,裝好Linux作業系統,其他套件都不要選
10.0.0.101 (mgm node)
10.0.0.102 (sql node)
10.0.0.103 (data node)
10.0.0.104 (data node)
編輯四台node的/etc/hosts (非必要,只是我的怪僻XD)
10.0.0.101 node1
10.0.0.102 node2
10.0.0.103 node3
10.0.0.104 node4
安裝MySQL Cluster前把iptables / SELinux 都關掉先,會少很多麻煩
如果要關掉SELinux,必須要reboot
chkconfig iptables off
vi /etc/sysconfig/selinux
SELINUX=enforcing 修改為 SELINUX=disabled
reboot
下載需要的套件回來,以下是前幾天下載的7.1.4b,現在最新的版本是7.1.5
http://dev.mysql.com/downloads/cluster/
MySQL-Cluster-gpl-client-7.1.4b-1.rhel5.x86_64.rpm
MySQL-Cluster-gpl-clusterj-7.1.4b-1.rhel5.x86_64.rpm
MySQL-Cluster-gpl-debuginfo-7.1.4b-1.rhel5.x86_64.rpm
MySQL-Cluster-gpl-devel-7.1.4b-1.rhel5.x86_64.rpm
MySQL-Cluster-gpl-embedded-7.1.4b-1.rhel5.x86_64.rpm
MySQL-Cluster-gpl-extra-7.1.4b-1.rhel5.x86_64.rpm
MySQL-Cluster-gpl-management-7.1.4b-1.rhel5.x86_64.rpm
MySQL-Cluster-gpl-server-7.1.4b-1.rhel5.x86_64.rpm
MySQL-Cluster-gpl-shared-7.1.4b-1.rhel5.x86_64.rpm
MySQL-Cluster-gpl-storage-7.1.4b-1.rhel5.x86_64.rpm
MySQL-Cluster-gpl-test-7.1.4b-1.rhel5.x86_64.rpm
MySQL-Cluster-gpl-tools-7.1.4b-1.rhel5.x86_64.rpm
如果不想安裝全部,各Node基本需要的套件如下
mgm node
rpm -ihv MySQL-Cluster-gpl-management*.rpm
rpm -ihv MySQL-Cluster-gpl-tools*.rpm
sql node
rpm -ivh MySQL-Cluster-gpl-server*.rpm
rpm -ivh MySQL-Cluster-gpl-client*.rpm
data node
rpm -ihv MySQL-Cluster-gpl-storage*.rpm
省得麻煩的話,就全裝唄XD
開始設定了,在mgm node
如果沒有/var/lib/mysql-cluster的話就自己建一個目錄
[root@node1 ~]# mkdir -p /var/lib/mysql-cluster
[root@node1 ~]# vi /var/lib/mysql-cluster/config.ini
[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M
[tcp default]
portnumber=2202
[ndb_mgmd]
hostname=10.0.0.101
id=1
datadir=/var/lib/mysql-cluster
[ndbd]
hostname=10.0.0.104
datadir=/var/lib/mysql-cluster
id=4
[ndbd]
hostname=10.0.0.103
datadir=/var/lib/mysql-cluster
id=3
[mysqld]
hostname=10.0.0.102
id=2
編輯sql node的/etc/my.cnf
[mysqld]
ndbcluster # run NDB storage engine
ndb-connectstring=node1 ##這邊要寫mgm node的位址
[mysql_cluster]
ndb-connectstring=node1 ##這邊要寫mgm node的位址
啟動服務
順序: mgm node -> data node -> sql node
mgm node:
[root@node1 ~]# ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial (第一次執行要加-f /var/lib/mysql-cluster/config.ini
--initial , 第二次以後就不用了)
觀察一下mysql cluster的狀態,我們可以用以下的指令
[root@node1 ~]# ndb_mgm -e show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=3 (not connected, accepting connect from 10.0.0.103)
id=4 (not connected, accepting connect from 10.0.0.104)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @10.0.0.101 (mysql-5.1.44 ndb-7.1.4)
[mysqld(API)] 1 node(s)
id=2 (not connected, accepting connect from 10.0.0.102)
data node:
ndbd --initial (第一次執行要加 --initial , 第二次以後就不用了)
如果無法啟動的話,可以直接指定他mgm node在哪邊
[root@node3 ~]# ndbd -c node1
[root@node1 ~]# ndb_mgm -e show
Connected to Management Server at: 10.0.0.101:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=3 @10.0.0.103 (mysql-5.1.44 ndb-7.1.4, starting, Nodegroup: 0, Master)
id=4 @10.0.0.104 (mysql-5.1.44 ndb-7.1.4, starting, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @10.0.0.101 (mysql-5.1.44 ndb-7.1.4)
[mysqld(API)] 1 node(s)
id=2 (not connected, accepting connect from 10.0.0.102)
sql node:
service mysql start (注意!!不是mysqld喔)
最後看看狀態,是不是所有的node都起來了
Connected to Management Server at: node1:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=3 @10.0.0.103 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0, Master)
id=4 @10.0.0.104 (mysql-5.1.44 ndb-7.1.4, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @10.0.0.101 (mysql-5.1.44 ndb-7.1.4)
[mysqld(API)] 1 node(s)
id=2 @10.0.0.102 (mysql-5.1.44 ndb-7.1.4)
嗯..看來 data node要的記憶體要大一點.. (筆記)
參考資料:
http://forum.icst.org.tw/phpbb/viewtopic.php?f=10&t=17903
http://twpug.net/docs/mysql-5.1/ndbcluster.html
http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster.html
http://www.codecharge.com.tw/phpBB3/viewtopic.php?f=11&t=540
MySQL技術精粹:架構、高級特性、性能優化與集群實戰
Linux如果要去mount iscsi的target來當本機硬碟來用的話
先安裝
# yum -y install iscsi-initiator-utils
# /etc/init.d/iscsi start
# iscsiadm -m discovery --type sendtargets --portal STORAGE_ADDR 預設port 3260
# iscsiadm --mode node --targetname TARGET_NAME --portal STORAGE_ADDR:3260 --login
# dmesg 或 fdisk -l 看一下剛剛login進來的partition代號
# fdisk /dev/sdx 建立分割區
# mke2fs -j /dev/sdxx 格式化ext3的格式
# e2label /dev/sdxx 編輯label
# vi /dev/fstab
LABEL=xxx /mnt/iscsi ext3 _netdev 0 0
或是
/dev/sdxx /mnt/iscsi ext3 _netdev 0 0
# mount -a 或 mount /mnt/iscsi
# iscsiadm --mode node --targetname TARGET_NAME --portal STORAGE_ADDR:3260 --logout
相關檔案
/etc/iscsi/*
/var/lib/iscsi/*
20150323 更新
這星期再去了一次,最新的價錢是 香腸 20/條 ,大腸 40/條
還算是俗又大碗
香腸攤位置在高雄十全路保安宮
下午兩點開始營業, 老闆正在烤肉架上準備
這就是所謂的數大便是美嗎^^"
吃完吃之後才驚覺沒有拍一張,下次有機會去高雄的話再來補一張:p
香腸和糯米腸雖然形狀大小不一,但是看起來就是純手工的證明啊~
單吃已經很美味了,跟其他香腸攤不一樣的是,配上一大把酸甜的醃小黃瓜更是一絕啊!!
新大港香腸
地址: 807高雄市三民區十全一路52號
3Com® SuperStack® 3 Switch 3226
拍賣網址 :
http://goods.ruten.com.tw/item/show?21002231260920
http://www.mobile01.com/mpitemdetail.php?id=137035
3Com官方網站 :
http://www.3com.com/products/en_US/detail.jsp?tab=features&pathtype=purchase&sku=3CR17500-91