summaryrefslogtreecommitdiff
path: root/configs/boot/iscsi-client.rcS
blob: de075e0a0b767dfcbaa0cb449c273182fb3d1e9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#!/bin/sh
#
# /etc/init.d/rcS
#

echo -n "mounting swap..."
/sbin/swapon /dev/hdc
echo "done."

echo -n "setting up network..."
/sbin/ifconfig lo 127.0.0.1
/sbin/ifconfig eth0 192.168.0.10 txqueuelen 1000

echo "1" > /proc/sys/net/ipv4/tcp_tw_recycle
echo "1" > /proc/sys/net/ipv4/tcp_tw_reuse
echo "1" > /proc/sys/net/ipv4/tcp_window_scaling
echo "0" > /proc/sys/net/ipv4/tcp_timestamps
echo "0" > /proc/sys/net/ipv4/tcp_sack
echo "15" > /proc/sys/net/ipv4/tcp_fin_timeout
echo "16384" > /proc/sys/net/ipv4/tcp_max_syn_backlog
echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
echo "1024 65535" > /proc/sys/net/ipv4/ip_local_port_range
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_rmem
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_wmem
echo "10000000 10000000 10000000" > /proc/sys/net/ipv4/tcp_mem
#echo "262144" > /proc/sys/net/ipv4/ip_conntrack_max
echo "524287" > /proc/sys/net/core/rmem_max
echo "524287" > /proc/sys/net/core/wmem_max
echo "524287" > /proc/sys/net/core/optmem_max
echo "300000" > /proc/sys/net/core/netdev_max_backlog
echo "131072" > /proc/sys/fs/file-max
echo "10" > /proc/sys/vm/dirty_writeback_centisecs
echo "done."

cat > /etc/initiatorname.iscsi <<EOF
InitiatorName=iqn.1987-05.10.0.168.192
EOF

cat > /etc/iscsid.conf <<EOF
node.active_cnx = 1
node.startup = manual
#node.session.auth.username = dima
#node.session.auth.password = aloha
node.session.timeo.replacement_timeout = 0
node.session.err_timeo.abort_timeout = 10
node.session.err_timeo.reset_timeout = 30
node.session.iscsi.InitialR2T = No
node.session.iscsi.ImmediateData = Yes
node.session.iscsi.FirstBurstLength = 262144
node.session.iscsi.MaxBurstLength = 16776192
node.session.iscsi.DefaultTime2Wait = 0
node.session.iscsi.DefaultTime2Retain = 0
node.session.iscsi.MaxConnections = 0
node.cnx[0].iscsi.HeaderDigest = None
node.cnx[0].iscsi.DataDigest = None
node.cnx[0].iscsi.MaxRecvDataSegmentLength = 65536
#discovery.sendtargets.auth.authmethod = CHAP
#discovery.sendtargets.auth.username = dima
#discovery.sendtargets.auth.password = aloha
EOF

mount -t sysfs none /sys

echo "" > /var/log/iscsi.log
chmod 0600 /var/log/iscsi.log
chmod 0666 -R /var/db/iscsi

# Required for udev to activate/deactivate devices.
echo "/sbin/hotplug" > /proc/sys/kernel/hotplug	

/sbin/insmod /modules/scsi_transport_iscsi.ko
/sbin/insmod /modules/iscsi_tcp.ko

# Create /dev/iscsictl
if [ ! -f /dev/iscsictl ]; then
    while read major device
    do
    if [ "$device" == "iscsictl" ]; then
        mknod /dev/$device c $major 0
    fi
    done < /proc/devices
fi

echo -n "Starting iscsid..."
/iscsi/iscsid -f &

echo -n "Waiting for server..."
/usr/bin/netcat -c -l -p 8000 

echo -n "Attaching target..."
/iscsi/iscsiadm -m discovery -t st -p 192.168.0.1
/iscsi/iscsiadm -m node -r a0c049 --login
echo "done."

sleep 5

echo -n "Starting aio benchmark..."
/benchmarks/aio_bench/aio-bench -n 8 -s 8 -r .666 -c 8 -i 4000 -C 500 /dev/sda
# very unstable /benchmarks/aio_bench/aio-bench -n 8 -s 5120 -r .666 -c 20 -i 3000 /dev/sda
# very unstable /benchmarks/aio_bench/aio-bench -n 8 -s 8 -r 0 -c 20 -i 3000 /dev/sda
# stable 960 Mbps /benchmarks/aio_bench/aio-bench -n 8 -s 8 -r 1 -c 20 -i 3000 /dev/sda
# very unstable /benchmarks/aio_bench/aio-bench -n 8 -s 1024 -r 1 -c 20 -i 3000 /dev/sda
# stable ~1.5 Gbps /benchmarks/aio_bench/aio-bench -n 16 -s 32 -r 1 -c 50 -i 3000 /dev/sda
# stable ~1.5 Gbps /benchmarks/aio_bench/aio-bench -n 50 -s 32 -r 1 -c 50 -i 3000 /dev/sda

echo "starting bash shell..."
/bin/bash

echo -n "halting machine"
m5 exit