您的位置:首页 > 运维架构 > Linux

Centos 安装 & cleversafe的使用

2010-05-19 19:33 441 查看
北大方法:

yum groupinstall “Development Tools”
yum -y install hmaccalc ncurses-devel unifdef zlib zlib_devel openssl openssl-devel libX11-devel
glibc-devel python-devel bridge-utils  libtool-ltdl


cd <XenSrcDir>
make xen tools

cd <KernelSrcDir>
cp configs/kernel-2.6.18-x86_64-xen.config .config
make

cd <XenSrcDir>
make install-xen install-tools

cd <KernelSrcDir>
make modules_install install
mkinitrd /boot/initrd-2.6.18-prep.img 2.6.18-prep

源设置

cd /etc/yum.repos.d/

mv CentOS-Base.repo CentOS-Base.repo.bak1

wget http://centos.ustc.edu.cn/CentOS-Base.repo
yum install hmaccalc ncurses-devel zlib-devel openssl-devel python-devel bridge-utils libtool-ltdl iasl xorg-x11-drv-evdev xorg-x11-drv-fbdev xorg-x11-drv-i810-devel xorg-x11-drv-via-devel xorg-x11-proto-devel xorg-x11-server-sdk xorg-x11-xtrans-develevel xorg-x11-drv-via-devel xorg-x11-proto-devel xorg-x11-server-sdk xorg-x11-xtrans-devel texinfo-tex Texinfo

yum install hmaccalc ncurses-devel zlib-devel openssl-devel python-devel bridge-utils libtool-ltdl iasl xorg-x11-drv-evdev xorg-x11-drv-fbdev xorg-x11-drv-i810-devel xorg-x11-drv-via-devel xorg-x11-proto-devel xorg-x11-server-sdk xorg-x11-xtrans-devel

下载mercurial-1.4.1 包

make all

make install

有doc出错,没管它。

export PYTHONPATH=/usr/local/lib/python2.4/site-packages

cp contrib/sample.hgrc /root/.hgrc

cleversafe的使用

/root/dsnet-accesser/bin

创建一个vault:

./dsnet-create-vault --name="iqn.2010-05.anycn" --descriptor="../conf/anycn.xml"

一个典型的 xml配置文件是:

<?xml version="1.0" encoding="UTF-8"?>
<vault:vault type="block"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:vault="http://cleversafe.org/vault"
xmlns:eval="http://cleversafe.org/config/evaluator">
<!-- 1GB vault -->
<vault:param name="block-size">
<eval:literal type="int" value="4096"/>
</vault:param>
<vault:param name="num-blocks">
<eval:literal type="long" value="262144"/>
</vault:param>

<!-- Information Dispersal Algorithm -->
<vault:ida kind="IDA" referral="cauchy" version="1">
<eval:param name="num-slices">
<eval:literal type="int" value="8"/>
</eval:param>
<eval:param name="threshold">
<eval:literal type="int" value="6"/>
</eval:param>
</vault:ida>
<!-- Data Integrity Codec (CRC-32) -->
<!--
<vault:codec kind="Codec.Integrity" referral="crc-32" version="1"/>
-->

<!-- Slice Integrity Codec (CRC-32) -->
<vault:slice-codec kind="Codec.Integrity" referral="crc-32" version="1"/>
<!-- Begin Slice Store List -->
<vault:slice-store kind="SliceStore" referral="remote">
<eval:param name="connection">
<eval:reference kind="Connection">
<eval:param name="host">
<eval:literal type="string" value="127.0.0.1"/>
</eval:param>
<eval:param name="port">
<eval:literal type="int" value="5001"/>
</eval:param>
</eval:reference>
</eval:param>
<eval:param name="vault-identifier">
<eval:method object="acl" name="getVaultIdentifier"/>
</eval:param>
<eval:param name="credentials">
<eval:reference object="credentials"/>
</eval:param>
</vault:slice-store>
<vault:slice-store kind="SliceStore" referral="remote">
<eval:param name="connection">
<eval:reference kind="Connection">
<eval:param name="host">
<eval:literal type="string" value="127.0.0.1"/>
</eval:param>
<eval:param name="port">
<eval:literal type="int" value="5002"/>
</eval:param>
</eval:reference>
</eval:param>
<eval:param name="vault-identifier">
<eval:method object="acl" name="getVaultIdentifier"/>
</eval:param>
<eval:param name="credentials">
<eval:reference object="credentials"/>
</eval:param>
</vault:slice-store>
<vault:slice-store kind="SliceStore" referral="remote">
<eval:param name="connection">
<eval:reference kind="Connection">
<eval:param name="host">
<eval:literal type="string" value="127.0.0.1"/>
</eval:param>
<eval:param name="port">
<eval:literal type="int" value="5003"/>
</eval:param>
</eval:reference>
</eval:param>
<eval:param name="vault-identifier">
<eval:method object="acl" name="getVaultIdentifier"/>
</eval:param>
<eval:param name="credentials">
<eval:reference object="credentials"/>
</eval:param>
</vault:slice-store>
<vault:slice-store kind="SliceStore" referral="remote">
<eval:param name="connection">
<eval:reference kind="Connection">
<eval:param name="host">
<eval:literal type="string" value="127.0.0.1"/>
</eval:param>
<eval:param name="port">
<eval:literal type="int" value="5004"/>
</eval:param>
</eval:reference>
</eval:param>
<eval:param name="vault-identifier">
<eval:method object="acl" name="getVaultIdentifier"/>
</eval:param>
<eval:param name="credentials">
<eval:reference object="credentials"/>
</eval:param>
</vault:slice-store>
<vault:slice-store kind="SliceStore" referral="remote">
<eval:param name="connection">
<eval:reference kind="Connection">
<eval:param name="host">
<eval:literal type="string" value="127.0.0.1"/>
</eval:param>
<eval:param name="port">
<eval:literal type="int" value="5005"/>
</eval:param>
</eval:reference>
</eval:param>
<eval:param name="vault-identifier">
<eval:method object="acl" name="getVaultIdentifier"/>
</eval:param>
<eval:param name="credentials">
<eval:reference object="credentials"/>
</eval:param>
</vault:slice-store>
<vault:slice-store kind="SliceStore" referral="remote">
<eval:param name="connection">
<eval:reference kind="Connection">
<eval:param name="host">
<eval:literal type="string" value="127.0.0.1"/>
</eval:param>
<eval:param name="port">
<eval:literal type="int" value="5006"/>
</eval:param>
</eval:reference>
</eval:param>
<eval:param name="vault-identifier">
<eval:method object="acl" name="getVaultIdentifier"/>
</eval:param>
<eval:param name="credentials">
<eval:reference object="credentials"/>
</eval:param>
</vault:slice-store>
<vault:slice-store kind="SliceStore" referral="remote">
<eval:param name="connection">
<eval:reference kind="Connection">
<eval:param name="host">
<eval:literal type="string" value="127.0.0.1"/>
</eval:param>
<eval:param name="port">
<eval:literal type="int" value="5007"/>
</eval:param>
</eval:reference>
</eval:param>
<eval:param name="vault-identifier">
<eval:method object="acl" name="getVaultIdentifier"/>
</eval:param>
<eval:param name="credentials">
<eval:reference object="credentials"/>
</eval:param>
</vault:slice-store>
<vault:slice-store kind="SliceStore" referral="remote">
<eval:param name="connection">
<eval:reference kind="Connection">
<eval:param name="host">
<eval:literal type="string" value="127.0.0.1"/>
</eval:param>
<eval:param name="port">
<eval:literal type="int" value="5008"/>
</eval:param>
</eval:reference>
</eval:param>
<eval:param name="vault-identifier">
<eval:method object="acl" name="getVaultIdentifier"/>
</eval:param>
<eval:param name="credentials">
<eval:reference object="credentials"/>
</eval:param>
</vault:slice-store>
</vault:vault>


这个是本地测试用的。

[root@localhost bin]# ./dsnet-create-target --name="iqn.2010-05.anycn" --iqn="iqn.2010-05.anycn"
Successfully created iSCSI target using dsNet vault.
Target name: iqn.2010-05.anycn
Vault name: iqn.2010-05.anycn
Vault identifier: 5be8674c-8a9d-4735-8f09-dbc8db7a7a1b
Target is now running.

yum install XX

service iscsi start

本地的iscsi访问:

[root@localhost bin]# iscsiadm -m discovery -t sendtargets -p 127.0.0.1
127.0.0.1:3260,1 iqn.2010-05.anycn
127.0.0.1:3260,1 iqn.2010-03.sjtu
发现了新的 127.0.0.1:3260,1 iqn.2010-05.anycn

login :

iscsiadm -m node --targetname iqn.2010-03.anycn -p 127.0.0.1 --login

ls /dev/sd*

可以发现新增的硬盘。

mount 一下就能访问了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: