Archive for 03月, 2007

Mar 23 2007

ProFTPD+MySQL 认证@debian

Published by David under Unix|Linux

grant select, update on ftpdb.* to proftpd@”%” identified by ‘password’ //新增一个用户,用于存取ftpdb 数据库,用户名 proftpd,密码 password
use ftpdb //对 ftpdb 库操作
#ftpgroup的表结构
CREATE TABLE `ftpgroup` (
`groupname` varchar(16) NOT NULL default ”,
`gid` smallint(6) NOT NULL default ‘5500′,
`members` varchar(16) NOT NULL default ”,
KEY `groupname` (`groupname`)
) TYPE=MyISAM;
#插入一条记录
INSERT INTO `ftpgroup` VALUES (’ftpgroup’, 5500, ‘ftpuser’);
#ftpuser的表结构
CREATE TABLE `ftpuser` (
`id` int(10) unsigned NOT NULL auto_increment,
`userid` varchar(32) NOT NULL default ”,
`passwd` varchar(32) NOT NULL default ”,
`uid` smallint(6) NOT NULL default ‘5500′,
`gid` smallint(6) NOT NULL default ‘5500′,
`homedir` varchar(255) NOT NULL default ”,
`shell` varchar(16) NOT NULL default ‘/sbin/nologin’,
`count` int(11) NOT NULL default ‘0′,
`accessed` datetime NOT NULL default ‘0000-00-00 00:00:00′,
`modified` datetime NOT NULL default ‘0000-00-00 00:00:00′,
PRIMARY KEY (`id`)
) TYPE=MyISAM ;
#插入一条记录
INSERT INTO ftpuser (userid, passwd, uid, gid, homedir, shell) VALUES
(’ftpuser’, ‘ftppasswd’, 5501, 5500, ‘/tony’,'/sbin/nologin’); //目录/tony应该存在
Continue Reading »

No responses yet

Mar 23 2007

配置 Solaris iSCSI 启动器

Published by David under Unix|Linux

iSCSI 技术(概述)
iSCSI 是 Internet SCSI(Small Computer System Interface,小型计算机系统接口)的缩写,是用于链接数据存储子系统的基于 Internet 协议 (Internet Protocol, IP) 的存储网络标准。此网络标准是由 Internet 工程任务组 (Internet Engineering Task Force, IETF) 开发的。有关 iSCSI 技术的更多信息,请参见 RFC 3720:
http://www.ietf.org/rfc/rfc3720.txt
通过在 IP 网络上传输 SCSI 命令,iSCSI 协议可用于访问网络中的块设备,就像这些设备连接至本地系统一样。
如果要使用现有 TCP/IP 网络中的存储设备,则可以使用以下解决方案:
Continue Reading »

No responses yet

Mar 23 2007

Debian下建立简单的ip san: open-iscsi的安装与配置

Published by David under Unix|Linux

deb261:~# apt-get install open-iscsi
Reading package lists… Done
Building dependency tree… Done
The following NEW packages will be installed
open-iscsi
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/104kB of archives.
After unpacking 340kB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
open-iscsi
Install these packages without verification [y/N]? y
Selecting previously deselected package open-iscsi.
(Reading database … 34744 files and directories currently installed.)
Unpacking open-iscsi (from …/open-iscsi_1.0.485-3_i386.deb) …
Setting up open-iscsi (1.0.485-3) …
Starting iSCSI initiator service: succeeded.

也可以从源代码安装open-iscsi, 从open-iscsi官方网站下载最新的open-iscsi原代码, 目前最新的版本为485. 解压后运行make; make install可安装open-iscsi.

Continue Reading »

No responses yet

Mar 23 2007

Debian下建立简单的ip san: iet的安装与配置

Published by David under Unix|Linux

deb261:~# dpkg -l |grep linux
ii doc-linux-text 2006.04-1 Linux HOWTOs and FAQs in ASCII format
ii libselinux1 1.30.27-2 SELinux shared libraries
ii linux-headers-2.6.17-2 2.6.17-8 Common header files for Linux 2.6.17
ii linux-headers-2.6.17-2-k7 2.6.17-8 Header files for Linux 2.6.17 on AMD K7
ii linux-image-2.6.17-2-k7 2.6.17-8 Linux 2.6.17 image on AMD K7
ii linux-kbuild-2.6.17 2.6.17-3 Kbuild infrastructure for Linux 2.6.17
ii linux-kernel-headers 2.6.17.10-3 Linux Kernel Headers for development
ii linux-source-2.6.17 2.6.17-8 Linux kernel source for version 2.6.17 with
ii util-linux 2.12p-4 Miscellaneous system utilities
deb261:~# dpkg -l |grep libssl
ii libssl-dev 0.9.8b-3 SSL development libraries, header files and
ii libssl0.9.7 0.9.7i-2 SSL shared libraries
ii libssl0.9.8 0.9.8b-3 SSL shared libraries
deb261:~# dpkg -l |grep gcc
ii gcc 3.3.5-3 The GNU C compiler
ii gcc-3.3 3.3.6-13 The GNU C compiler
ii gcc-3.3-base 3.3.6-13 The GNU Compiler Collection (base package)
ii gcc-4.1 4.1.1-13 The GNU C compiler
ii gcc-4.1-base 4.1.1-13 The GNU Compiler Collection (base package)
ii libgcc1 4.1.1-13 GCC support library
deb261:~# gcc -v
Reading specs from /usr/lib/gcc-lib/i486-linux-gnu/3.3.6/specs
Configured with: ../src/configure -v –enable-languages=c,c++ –prefix=/usr –mandir=/usr/share/man –infodir=/usr/share/info –with-gxx-include-dir=/usr/include/c++/3.3 –enable-shared –enable-__cxa_atexit –with-system-zlib –enable-nls –without-included-gettext –enable-clocale=gnu –enable-debug i486-linux-gnu
Thread model: posix
gcc version 3.3.6 (Debian 1:3.3.6-13)

将软件包解压后, 到解压目录下运行make;make install, 就可完成iscsi target的安装. 安装过程如下:

deb261:~# tar zxf iscsitarget-0.4.13.tar.gz
deb261:~# cd iscsitarget-0.4.13
deb261:~/iscsitarget-0.4.13# make
make -C usr
make[1]: Entering directory `/root/iscsitarget-0.4.13/usr’
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -c -o ietd.o ietd.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -c -o iscsid.o iscsid.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -c -o conn.o conn.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -c -o session.o session.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -c -o target.o target.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -c -o message.o message.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -c -o ctldev.o ctldev.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -c -o log.o log.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -c -o isns.o isns.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -c -o chap.o chap.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -c -o event.o event.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -c -o param.o param.c
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -c -o plain.o plain.c
cc ietd.o iscsid.o conn.o session.o target.o message.o ctldev.o log.o isns.o chap.o event.o param.o plain.o -o ietd -lcrypto
cc -O2 -fno-inline -Wall -Wstrict-prototypes -g -I../include -c -o ietadm.o ietadm.c
cc ietadm.o param.o -o ietadm
make[1]: Leaving directory `/root/iscsitarget-0.4.13/usr’
make -C /lib/modules/2.6.17-2-k7/build SUBDIRS=/root/iscsitarget-0.4.13/kernel modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.17-2-k7′
CC [M] /root/iscsitarget-0.4.13/kernel/tio.o
CC [M] /root/iscsitarget-0.4.13/kernel/iscsi.o
CC [M] /root/iscsitarget-0.4.13/kernel/nthread.o
CC [M] /root/iscsitarget-0.4.13/kernel/wthread.o
CC [M] /root/iscsitarget-0.4.13/kernel/config.o
CC [M] /root/iscsitarget-0.4.13/kernel/digest.o
CC [M] /root/iscsitarget-0.4.13/kernel/conn.o
CC [M] /root/iscsitarget-0.4.13/kernel/session.o
CC [M] /root/iscsitarget-0.4.13/kernel/target.o
CC [M] /root/iscsitarget-0.4.13/kernel/volume.o
CC [M] /root/iscsitarget-0.4.13/kernel/iotype.o
CC [M] /root/iscsitarget-0.4.13/kernel/file-io.o
CC [M] /root/iscsitarget-0.4.13/kernel/null-io.o
CC [M] /root/iscsitarget-0.4.13/kernel/target_disk.o
CC [M] /root/iscsitarget-0.4.13/kernel/event.o
CC [M] /root/iscsitarget-0.4.13/kernel/param.o
LD [M] /root/iscsitarget-0.4.13/kernel/iscsi_trgt.o
Building modules, stage 2.
MODPOST
CC /root/iscsitarget-0.4.13/kernel/iscsi_trgt.mod.o
LD [M] /root/iscsitarget-0.4.13/kernel/iscsi_trgt.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.17-2-k7′
deb261:~/iscsitarget-0.4.13# make install
`usr/ietd’ -> `/usr/sbin/ietd’
`usr/ietadm’ -> `/usr/sbin/ietadm’
if [ -f /etc/debian_version ]; then
install -vD -m 755 etc/initd/initd.debian /etc/init.d/iscsi-target;
elif [ -f /etc/redhat-release ]; then
install -vD -m 755 etc/initd/initd.redhat /etc/init.d/iscsi-target;
elif [ -f /etc/gentoo-release ]; then
install -vD -m 755 etc/initd/initd.gentoo /etc/init.d/iscsi-target;
elif [ -f /etc/slackware-version ]; then
install -vD -m 755 etc/initd/initd /etc/rc.d/iscsi-target;
else
install -vD -m 755 etc/initd/initd /etc/init.d/iscsi-target;
fi
`etc/initd/initd.debian’ -> `/etc/init.d/iscsi-target’
install: creating directory `/lib/modules/2.6.17-2-k7/kernel/iscsi’
`kernel/iscsi_trgt.ko’ -> `/lib/modules/2.6.17-2-k7/kernel/iscsi/iscsi_trgt.ko’
depmod -aq
deb261:~/iscsitarget-0.4.13#

1.3 配置iet, 复制iscsitarget-0.4.13/etc/ietd.conf到/etc下, 作为iet配置的蓝本, ietd.conf中包含了一个示例配置, 可用的参数都以注释的方式给出, 建议在修改设置时, 保留原先的行, 并在这行的下一行增加内容.

iet可以将块设备, 文件, lvm卷, 以及raid卷作为块设备映射给iscsi initiator. 下面的配置将一个物理磁盘和一个文件映射为2个块设备给iscsi initiator

Lun 0 Path=/dev/sdb,Type=fileio
Lun 1 Path=/root/iscsidisk,Type=fileio

1.4 启动iet, 运行

/etc/init.d/iscsitarget start

启动iet, 启动后可以在进程中看到iet的用户进程和内核模块. 下面是iet启动后, ps输出的部分内容

root 4389 1 0 00:21 ? 00:00:00 /usr/sbin/ietd
root 4390 6 0 00:21 ? 00:00:00 [istd1]
root 4391 6 0 00:21 ? 00:00:00 [istiod1]
root 4392 6 0 00:21 ? 00:00:00 [istiod1]
root 4393 6 0 00:21 ? 00:00:00 [istiod1]
root 4394 6 0 00:21 ? 00:00:00 [istiod1]
root 4395 6 0 00:21 ? 00:00:00 [istiod1]
root 4396 6 0 00:21 ? 00:00:00 [istiod1]
root 4397 6 0 00:21 ? 00:00:00 [istiod1]
root 4398 6 0 00:21 ? 00:00:00 [istiod1]

如果希望系统启动后自动启动iet, 则应在/etc/rc2.d目录中建立指向/etc/init.d/iscsitarget的链接.

1.5 杂项, 我曾用如下配置:

#MaxConnections 1
MaxConnections 2
#InitialR2T Yes
#ImmediateData No
ImmediateData Yes

将iet作为两节点的suncluster + oracle rac(x86_64)集群. 今天看了看ietd.conf的手册, 手册中MaxConnections应该被设置为1, 但未说明理由.

No responses yet

Mar 04 2007

【转】Linux 2.6.20.x内核编译配置选项简介

Published by David under Unix|Linux

说明1:
文字中的Y表示选择进内核。M表示编成模块。N表示不选择。有的只能选Y,有的只能选M。
在make menuconfig 下,*表示Y,M表示M,空白表示N。
make xconfig下,√ 表示Y,� 表示M,空白表示N。

说明2:
菜单中,有的选项你选了Y才出现,有的选了Y,它反而不会出现。有的选项根本不会提供选择。所以我提供的菜单项应该不是最完整的设置选项。如果你碰到了新的选项,你可以认真看它的英文说明,或者通过上网搜索、在论坛提问等方式来了解它。

Continue Reading »

No responses yet

Next »

Close
E-mail It