Categories
blog howto windows

Windows XP expired but activation screen won’t show

If you have repaired windows XP with an older CD, you could get the windows expired message, after completing setup, asking you to activate first. If you click YES, the activation screen doesn’t show and you get logged off (immediately or after 20 mins with only the background visible). If you choose NO you get logged off as well. Safe mode without networking allows you in, but activation can’t be done under safe mode. Quite the problem.

I found a solution in the newsgroups, I’ll copy it here for keeps sake:

I was having the same issue with Windows XP Media Center Edition. Installing SP2 over SP3 was not the problem for me, though I thought it was at the beginning. I had to change out a motherboard, and then had to reinstall windows. I was unable to enter safe mode or normal mode without the Activation popup, and then after clicking yes to activate, it would show my wallpaper and do nothing else. Have been searching for a few days for an answer with no luck. Found alot of information on wpa.dbl licence and registry fixes and people saying that it was due to having an OEM copy of XP. None of these were the case for me.
HERE’S THE FIX…
Download Internet Explorer 8 and Hotfix KB946501, burn them to disc
Hotfix KB946501 http://support.microsoft.com/default.aspx/kb/946501
Internet Explorer 8 http://www.microsoft.com/windows/internet-explorer/default.aspx
Start your PC and repeatedly hit F8 to get the safe mode menu.
Choose safe mode with command prompt only (if you are unable to enter safe mode otherwise)
When the command prompt appears type “explorer”
Should load the Windows GUI behind the cmd window
Install the KB946501 hotfix from your disc (reboot may be needed after this)
Install IE8
Reboot normally in to Windows, you should be able to activate as usual.
Apparently the activation Window is dependant upon IE.
Hope this works, let me know.

All credit goes to RowdyRocket, original topic can be found here.

Categories
blog howto network

Netscreen policy based routing cross virtual router

EDIT: Also read the comments, before implementing.

For a customer at work i was implementing PBR on his Netscreen NS25. Normally you have just 1 virtual router called trust-vr, which contains your trust and untrust interfaces. Inside this trust-vr you then have a routing table with a 0.0.0.0/0 route towards your ISP gateway. My customer had a second ISP connection in place to offload some of the traffic trough this connection. I connected the 2nd ISP to an unused interface and placed it in the “trust-vr” virtual router.
Problem: My new interface was not static, but PPoE (same like DHCP) and thus get it’s IP address automatically. However also the gateway is automatically received and set in the virtual router. Unfortunately automatically received gateway is set as connected type with a higher priority then any statically set default gateway. This means i got a second entry for 0.0.0.0/0 with ISP2 gateway and higher priority (thus making it the default), and all traffic went over this 2nd ISP instead of the 1st. This was not desired.

What to do ?
Make a new virtual router, for example call it “ISP2-vr” and a new zone “ISP2”. Assign your interface with the ISP2 connection to zone “ISP2” and to virtual router “ISP2-vr”. This means your automatically received default gateway is placed in the routing table of “ISP2-vr” and nothing get’s messed up.

Redirect traffic.
To redirect the desired traffic, in my case http & https, i use PBR (Policy based routing). Note the PBR should be created inside “trust-vr” virtual router, because there the traffic is originating. First we create an extended ACL. Give the ACL a number, for example 10 and assign a sequence (example number 1). In this sequence you provide the requirements. Let’s say all trafic to port 80 (http) should be redirected, then you just choose port 80, protocol TCP and leave the rest blank. Next you create a match group what basically is just an ID and name where you can assign multiple ACL’s to. Next you make an action group, where you can define an action. Now this action should be next-hop ISP2gatewayIP (this is important !) and not contain an interface. The reason is that the interface is not known to “trust-vr” virtual router so it won’t work. Combine it all in a PBR policy and assign the policy to the trust-vr.

For the next-hop action to work we need to do some tricks. First of all inside the routing table for “ISP2-vr” you need to create route like this: ISP2-gateway/32 to ISP2-gateway/32 interfaceX. Don’t ask me why but this is needed for the PBR and explained in a Juniper KB.

Now normally this should do it. But in my case my ISP2-gateway IP was not inside the ISP2-ip and subnetmask. This appears strange but is mostly the case when using PPoE. To get around this, i need to add a route in the “trust-vr” virtual router for ISP2-gatewayIP to “ISP2-vr” virtual router. That’s it PBR is operational.

You should create a policy from “Trust” zone to “ISP2” zone and allow traffic AND important enable SOURCE NAT on this policy, because your NAT set on the Trust interface won’t work because you are not routing to Untrust.

In this CLI example ethernet1 is the Trust interface, ethernet3 is the Untrust interface and ethernet4 is my ISP2.

set vrouter "trust-vr"
set source-routing enable
set sibr-routing enable
unset add-default-route
set route 0.0.0.0/0 interface ethernet3 gateway 81.246.22.xx
set route 212.71.0.yy gateway ISP2-vr
set access-list extended 20 dst-port 80-80 protocol tcp entry 1
set match-group name port80
set match-group port80 ext-acl 20 match-entry 10
set action-group name toISP2
set action-group toISP2 next-hop 212.71.0.yy action-entry 2
set pbr policy name PBRport80
set pbr policy PBRport80 match-group port80 action-group toISP2 1
exit
set vrouter "ISP2-VR"
set source-routing enable
set sibr-routing enable
set route 212.71.0.yy/32 interface ethernet4 gateway 212.71.0.yy
exit
set interface ethernet1 pbr PBRport80

Categories
linux server virtualization

GhettoVCB ESX(i) VM’s backup: E-mail logfile

UPDATE: GhettoVCB now has it’s own function to send a report mail. It only works on ESXi > 4.1.

I’m using an excellent script to backup my virtual machines called GhettoVCB. This script works perfect. I wanted to get the daily logfile in my e-mal inbox. I have ESXi (4.0) and i don’t know whether it can e-mail by itself, i think not. But i used a linux VM i am running, to pull the logfile and mail it to me. The linux VM is set up with sendmail and outgoing mailhost is configured. I you don’t have a linux VM, a windows VM or PC can work too. You can use wget for windows to pull the file (syntax would maybe change a little bit) and then blat to mail the file. I won’t go in detail about this.

I have altered the GhettoVCB script to make the backups & logiles use this date syntax “date +%F”. I find it easier to read for humans. You have to adjust this in the Cronjob that calls the ghettoVCB script, the logfile is given as a paramter.
In the script below, please adjust the youruser and yourpass to valid login credentials for browsing the datastore trough https. Usually the user you login with directly on the ESXi. Also adjust the you@domain.tld, place your e-mail address. Pretty simple & basic but it works excellent. Last point, adjust the 192.168.x.y to your ESXi’s IP address.

#grab esxi backup log file and mail it v0.1
#Note the WGET part should be 1 line, no line breaks
#Adjust the youruser & yourpass to valid credentials for logging in to ESXi (browse the datastore)
#Adjust the IP address (192.168.x.y) to your ESXi ip addresss
#In the wget line below, my logs were located in a folder called backup on a datastore called 750GBdisk2
#You could check the syntax of the link by browsing to your datastore and locate the backup log files then look at the addressbar
cd /tmp
wget "https://192.168.x.y/folder/backup/ghettoVCB-backup-$(date +\%F).log?dcPath=ha-datacenter&dsName=750GBdisk2" --user youruser --password yourpass --no-check-certificate
cat /tmp/ghettoVCB* | mail -s "Backup log ESXi4" you@domain.tld
rm -rf /tmp/ghettoVCB*

Categories
blog linux

Munin config example

/etc/munin.conf

# Example configuration file for Munin, generated by ‘make build’
# The next three variables specifies where the location of the RRD
# databases, the HTML output, and the logs, severally. They all
# must be writable by the user running munin-cron.
dbdir /var/lib/munin
htmldir /var/www/munin
logdir /var/log/munin
rundir /var/run/munin

# Where to look for the HTML templates
tmpldir /etc/munin/templates

# Make graphs show values per minute instead of per second
#graph_period minute

# Drop somejuser@fnord.comm and anotheruser@blibb.comm an email everytime
# something changes (OK -> WARNING, CRITICAL -> OK, etc)

contact.yourname.command mail -s “MUNIN – [${var:host}] ~ ${var:graph_title} ~ warnings: ${loop<,>:wfields ${var:label}=${var:value}} ~ criticals: ${loop<,>:cfields ${var:label}=${var:value}}” your.email@domain.tld

#
#
# For those with Nagios, the following might come in handy. In addition,
# the services must be defined in the Nagios server as well.
#contact.nagios.command /usr/sbin/send_nsca -H nagios.host.com -c /etc/send_nsca.cfg

# a simple host tree
[location1-wms1.otherdomain.tld]
address 169.254.30.86
use_node_name yes

load.load.warning 15
load.load.critical 30

memory.apps.warning 6442450944
memory.committed.warning 8589934592
# memory.committed.warn 8589934592
memory.committed.critical 17179869184

df._dev_cciss_c0d0p1.warning 75
df._dev_mapper_VolGroup00_LogVol00.warning 90
df._dev_mapper_VolGroup00_LogVol01.warning 90
df._dev_mapper_VolGroup00_LogVol02.warning 90
df._dev_mapper_VolGroup00_LogVol04.warning 90
df._dev_mapper_VolGroup01_LogVol00.warning 90
df._dev_mapper_VolGroup02_LogVol00.warning 90
df._dev_mapper_VolGroup03_LogVol00.warning 90

df._dev_cciss_c0d0p1.critical 95
df._dev_mapper_VolGroup00_LogVol00.critical 95
df._dev_mapper_VolGroup00_LogVol01.critical 95
df._dev_mapper_VolGroup00_LogVol02.critical 95
df._dev_mapper_VolGroup00_LogVol04.critical 95
df._dev_mapper_VolGroup01_LogVol00.critical 95
df._dev_mapper_VolGroup02_LogVol00.critical 95
df._dev_mapper_VolGroup03_LogVol00.critical 95

[location1-wms2.otherdomain.tld]
address 169.254.30.88
use_node_name yes

load.load.warning 15
load.load.critical 30

memory.apps.warning 6442450944
memory.committed.warning 8589934592
memory.committed.critical 17179869184

df._dev_cciss_c0d0p1.warning 75
df._dev_mapper_VolGroup00_LogVol00.warning 90
df._dev_mapper_VolGroup00_LogVol01.warning 90
df._dev_mapper_VolGroup00_LogVol02.warning 90
df._dev_mapper_VolGroup00_LogVol04.warning 90
df._dev_mapper_VolGroup01_LogVol00.warning 90
df._dev_mapper_VolGroup02_LogVol00.warning 90
df._dev_mapper_VolGroup03_LogVol00.warning 90

df._dev_cciss_c0d0p1.critical 95
df._dev_mapper_VolGroup00_LogVol00.critical 95
df._dev_mapper_VolGroup00_LogVol01.critical 95
df._dev_mapper_VolGroup00_LogVol02.critical 95
df._dev_mapper_VolGroup00_LogVol04.critical 95
df._dev_mapper_VolGroup01_LogVol00.critical 95
df._dev_mapper_VolGroup02_LogVol00.critical 95
df._dev_mapper_VolGroup03_LogVol00.critical 95

[location1-ts1.otherdomain.tld]
address 169.254.30.90
use_node_name no
memory.swap.label swap
memory.swap.draw STACK
memory.swap.info Swap memory used

[location1m-fc1.otherdomain.tld]
address 169.254.30.94
use_node_name no
memory.swap.label swap
memory.swap.draw STACK
memory.swap.info Swap memory used

[location1-mfc2.otherdomain.tld]
address 169.254.30.96
use_node_name no
memory.swap.label swap
memory.swap.draw STACK
memory.swap.info Swap memory used

[location1-ts2.otherdomain.tld]
address 169.254.30.92
use_node_name no
memory.swap.label swap
memory.swap.draw STACK
memory.swap.info Swap memory used
memory.apps.label usage
memory.unused.label pagefile

[location2-wms1.otherdomain.tld]
address 169.254.20.20
use_node_name yes

load.load.warning 15
load.load.critical 30

memory.apps.warning 6442450944
memory.committed.warning 8589934592
memory.committed.critical 17179869184

df._dev_cciss_c0d0p1.warning 75
df._dev_mapper_VolGroup00_LogVol00.warning 90
df._dev_mapper_VolGroup00_LogVol01.warning 90
df._dev_mapper_VolGroup00_LogVol02.warning 90
df._dev_mapper_VolGroup00_LogVol04.warning 90
df._dev_mapper_VolGroup01_LogVol00.warning 90
df._dev_mapper_VolGroup02_LogVol00.warning 90
df._dev_mapper_VolGroup03_LogVol00.warning 90

df._dev_cciss_c0d0p1.critical 95
df._dev_mapper_VolGroup00_LogVol00.critical 95
df._dev_mapper_VolGroup00_LogVol01.critical 95
df._dev_mapper_VolGroup00_LogVol02.critical 95
df._dev_mapper_VolGroup00_LogVol04.critical 95
df._dev_mapper_VolGroup01_LogVol00.critical 95
df._dev_mapper_VolGroup02_LogVol00.critical 95
df._dev_mapper_VolGroup03_LogVol00.critical 95

[location2-wms2.otherdomain.tld]
address 169.254.20.22
use_node_name yes

load.load.warning 15
load.load.critical 30

memory.apps.warning 6442450944
memory.committed.warning 8589934592
memory.committed.critical 17179869184

df._dev_cciss_c0d0p1.warning 75
df._dev_mapper_VolGroup00_LogVol00.warning 90
df._dev_mapper_VolGroup00_LogVol01.warning 90
df._dev_mapper_VolGroup00_LogVol02.warning 90
df._dev_mapper_VolGroup00_LogVol04.warning 90
df._dev_mapper_VolGroup01_LogVol00.warning 90
df._dev_mapper_VolGroup02_LogVol00.warning 90
df._dev_mapper_VolGroup03_LogVol00.warning 90

df._dev_cciss_c0d0p1.critical 95
df._dev_mapper_VolGroup00_LogVol00.critical 95
df._dev_mapper_VolGroup00_LogVol01.critical 95
df._dev_mapper_VolGroup00_LogVol02.critical 95
df._dev_mapper_VolGroup00_LogVol04.critical 95
df._dev_mapper_VolGroup01_LogVol00.critical 95
df._dev_mapper_VolGroup02_LogVol00.critical 95
df._dev_mapper_VolGroup03_LogVol00.critical 95

[location2-ts1.otherdomain.tld]
address 169.254.20.24
use_node_name no
memory.swap.label swap
memory.swap.draw STACK
memory.swap.info Swap memory used

[location2-ts2.otherdomain.tld]
address 169.254.20.26
use_node_name no
memory.swap.label swap
memory.swap.draw STACK
memory.swap.info Swap memory used

[location2-mfc1.otherdomain.tld]
address 169.254.20.28
use_node_name no
memory.swap.label swap
memory.swap.draw STACK
memory.swap.info Swap memory used

[location2-mfc2.otherdomain.tld]
address 169.254.20.30
use_node_name no
memory.swap.label swap
memory.swap.draw STACK
memory.swap.info Swap memory used

[otherdomain.tld;Totals]
update no

load1.graph_title Loads-WMS1
load1.graph_order location1wms1=location1wms1.otherdomain.tld:load.load location2-wms1=location2-wms1.otherdomain.tld:load.load

load2.graph_title Loads-WMS2
load2.graph_order location1wms2=location1wms2.otherdomain.tld:load.load location2-wms2=location2-wms2.otherdomain.tld:load.load

load3.graph_title Loads on top of each other
load3.dummy_field.stack location1wms1=location1wms1.otherdomain.tld:load.load location2-wms1=location2-wms1.otherdomain.tld:load.load location1wms2=location1wms2.otherdomain.tld:load.load location2-wms2=location2-wms2.otherdomain.tld:load.load
load3.dummy_field.draw AREA # We want area instead the default LINE2.
load3.dummy_field.label dummy # This is needed. Silly, really.

memory1.graph_title Memory SWAP WMS
memory1.graph_order location1wms1=location1wms1.otherdomain.tld:memory.swap location2-wms1=location2-wms1.otherdomain.tld:memory.swap location1wms2=location1wms2.otherdomain.tld:memory.swap location2-wms2=location2-wms2.otherdomain.tld:memory.swap

memory2.graph_title Memory Committed WMS
memory2.graph_order location1wms1=location1wms1.otherdomain.tld:memory.committed location2-wms1=location2-wms1.otherdomain.tld:memory.committed location1wms2=location1wms2.otherdomain.tld:memory.committed location2-wms2=location2-wms2.otherdomain.tld:memory.committed

# load3.graph_title Loads summarised
# load3.combined_loads.sum location1wms1.otherdomain.tld:load.load location2-wms1.otherdomain.tld:load.load
# load3.combined_loads.label Combined loads # Must be set, as this is
# # not a dummy field!

[ip-wms1.domain.tld]
address 127.0.0.1
use_node_name yes

load.load.warning 15
load.load.critical 30

memory.apps.warning 6442450944
memory.committed.warning 8589934592
memory.committed.critical 17179869184

[ip-wms2.domain.tld]
address 192.168.101.51
use_node_name yes

load.load.warning 15
load.load.critical 30

memory.apps.warning 6442450944
memory.committed.warning 8589934592
memory.committed.critical 17179869184

[windows-pc.domain.tld]
address 192.168.101.26
use_node_name yes
memory.swap.label swap
memory.swap.draw STACK
memory.swap.info Swap memory used

/etc/munin-node.conf

#
# Example config-file for munin-node
#

log_level 4
log_file /var/log/munin/munin-node.log
port 4949
pid_file /var/run/munin/munin-node.pid
background 1
setseid 1

# Which port to bind to;
host *
user root
group root
setsid yes

# Regexps for files to ignore

ignore_file ~$
ignore_file \.bak$
ignore_file %$
ignore_file \.dpkg-(tmp|new|old|dist)$
ignore_file \.rpm(save|new)$

# Set this if the client doesn’t report the correct hostname when
# telnetting to localhost, port 4949
#
host_name location1-wms1.otherdomain.tld

# A list of addresses that are allowed to connect. This must be a
# regular expression, due to brain damage in Net::Server, which
# doesn’t understand CIDR-style network notation. You may repeat
# the allow line as many times as you’d like

#allow ^127\.0\.0\.1$
allow ^169\.254\.25\.10$

Happy learning !

Categories
blog linux server virtualization

Installed ESXi 4 (with FTP & SSH enabled) & migrated VM’s from workstation

UDATE: This is an outdated article, since ESXi 4.1 you can enable SSH (remote & local) from the VI client through “security features” in “configuration”.

After my XenServer5.5 experience i decided to use VMWare ESXi, let’s be honest, the leader in the market.
First problem, installation would fail because no supported NIC was found. I tried several NIC’s such as 3Com 3C509 & Realtek RTL8139 but no luck.
I ordered an Intel PRO/1000 Desktop PCI adapter. I tested with the ESXi 4 CD and it was detected and supported.
Success, then I made a custom ESXi 4 CD with FTP & SSH enabled (trough custom oem.tgz) and installed ESXi. All went flawless.
Since it took some time for me to test the different NIC’s and finally order the Intel NIC. I had already installed VMWare Workstation evaluation on my desktop and had recreated my VM’s. Of course my PC was not 24/24 online so the website I’m writing this on was only at some times available.

After ESXi was installed and running, I used the VMWare Converter Standalone to convert my workstation VM’s to ESXi. The Windows VM went excellent.
The Ubuntu VM was installed through VMWare Workstation easy install mode, and on the ESXi it would boot fine but would not load the correct drivers for the NIC.
I was trying different things on it, but without NIC there wasn’t much i could do. I tried compiling the VMware tools and drivers but had failures.
I finally had to make a new VM with Ubuntu server fresh install and copied the files and exported the SQL database (on my VMWare workstation i could still boot the VM with network access). But after at least 6 hours of work ESXi was running with the 2 VM’s and the website was operational.

Since i use Windows 7 I had to follow a how-to because Vsphere Client fails on Windows 7 (have to copy system.dll and make a batch script). After updates from VMWare the latest Vsphere Client works fine on Windows 7.
Yesterday and today I finished up the Windows VM and moved PC’s in to the domain, copied back files & setup shares.

Now on to some last items, torrentflux-b4rt, truecrypt, moblock, RAS, …

Categories
virtualization

Citrix XenServer 5: SR on fakeraid (onboard Intel Raid) and tape drive trough ISCSI to windows VM

EDIT: I eventually ran in to problems with my SR on fakeraid. So please don’t try this if you can’t afford to loose data.

In this article i want to describe my experiences with Citrix XenServer 5.0 Express and particular in combination with cheap PC hardware.

Let’s start of by describing the hardware.

Motherboard: Asus P5Q ( Intel® P45 chipset with ICH10R)
Processor: Intel Core2Quad Q9300 2.5Ghz 6MB cache FSB 1333 (Intel VT, XD)
Memory: Kingston Valueram 4GB DDR2-800 (kit of 2)
Storage: Samsung Spinpoint 750GB x2
Graphics: ATI Radeon X1300 PCI-E
Network: 3Com 3C905 PCI (onboard NIC’s not recognized)

I want to use the onboard RAID 1 to create a redundant storage repository for placing all the VM’s in.

When i started the setup by booting from the CD i only had the option to install on either of the disks.
Setup did not see or care about the RAID1 mirror i had already created trough BIOS tools.

After some research on the internet it seemed that most people would point out to use software raid instead of “Fakeraid” (this is how they call onboard firmware raid). But after researching more i found out that Citrix XenServer does not support software raid either, out of the box.
More research led me to the conclusion that fakeraid is easy to get working under linux, especially if the software (dmraid) is already present.
At least easy if the raidset is not your bootdisk.

I added an 80GB IDE drive i had lying around, to the system. I booted the CD and ran setup. I choose NOT to create a “Storage Repository” and installed on the 80GB IDE drive. After booting up the system i went to the console and typed the following command:

dmraid -ay

This gave me an output stating the raidset was active and was to be found at:

/dev/mapper/isw_ccjhgbjbcc_XEN-MIRROR

Note: XEN-MIRROR was the name i gave the raidset in the BIOS tools.

I then looked up the command for manually creating the the “Storage Repository” as LVM thus wiping the disks clean.

xe sr-create host-uuid=YOUR-OWN-UUID name-label=FAKERAID1 type=lvm content-type=user shared=false device-config-device=/dev/mapper/isw_ccjhgbjbcc_XEN-MIRROR

To get your UUID you can issue the following command:

xe host-list

After this i started my XenCenter on the windows management PC, and i saw the new SR (Storage Repository) when the right click menu, i choose this SR as default. Next i started making my virtual machines on it.

One particular challenging problem is, for instance, using a locally (to the XenServer) attached SCSI tape drive.
I read about PCI passtrough options called “pciback” and “pcifront” but this is only documented for the original old XenSource and highly unsupported by Citrix. I almost gave up, but stumbled upon a different approach. Since the tape drive is a SCSI device we can expose it as an ISCSI target with the help of some ISCSI software. I read a great articly about it here:
http://www.wlug.org.nz/XenNotes (article from Daniel Lawson). I hope the author doesn’t mind me copy/pasting his article, but i would not want the knowledge to be lost.

Making a tape drive available to a guest via iSCSI

This is specifically for Citrix XenServer, although the principles will of course work in other Xen implementations

I recently had a scenario where I was replacing two Windows servers with XenServer guests. This was fine, but we needed a way to backup to the existing SCSI DDS4 DAT drive. After failing to make PCI passthrough work, I settled on the much nicer method of providing the tape drive via an iSCSI target on the XenServer Host (Dom0). Here is how I achieved this.

Note 1: This is totally unsupported by Citrix

Note 2: I’ve used the XenServer terminology “host” instead of Dom0, as this applies to the Citrix commercial implementation of Xen. It will probably work fine on OSS Xen, but you can just install the normal kernel dev packages and ignore the DDK stuff.

Note 3: This is for XenServer 4.1.0, but the principles are the same for previous versions. Just ensure you understand each step rather than following blindly.

* Download the Xen DDK from citrix.com
* The DDK is an ISO containing a VM with a development environment. Import it to your Xen host, and start it.
* Download iscsitarget 0.4.14 (you MUST use this version, as the patch for rawio support will not cleanly apply to 0.4.15) from http://optusnet.dl.sourceforge.net/sourceforge/iscsitarget/iscsitarget-0.4.14.tar.gz into your DDK VM.
* Download the patch for rawio support from http://sourceforge.net/mailarchive/attachment.php?list_name=iscsitarget-devel&message_id=1170171101.2822.23.camel@localhost.localdomain&counter=1 into your DDK VM (assuming you’re saving it in /tmp)
* Now do the following:

yum install kernel-devel bison flex
tar -zxvf iscsitarget-0.4.14.tar.gz
cd iscsitarget-0.4.14
patch -p0 < /tmp/raw.p
make

* scp the entire iscsitarget-0.4.14 directory to your destination Xen host, and on that host (after enabling the base repo in /etc/yum.repos.d/CentOS-Base.repo) do:

yum install make gcc
cd iscsitarget-0.4.14
make install
mkdir /lib/modules/`uname -r`/kernel/iscsi
cp kernel/iscsi_trgt.ko /lib/modules/`uname -r`/kernel/iscsi
depmod -aq

The last three steps are required because make install will not copy the kernel module correctly outside the target environment.

* Now edit your /etc/ietd.conf and configure the tape as per the following example snippet (cat /proc/scsi/scsi for the correct HCIL values for your SCSI tape drive, this is an example only):

Target iqn.2007-04.com.example:tape0
Lun 0 H=1,C=0,I=6,L=0,Type=rawio
Type 1

* Save and do /etc/init.d/iscsi-target start
* Modify /etc/sysconfig/iptables to allow port 3260 tcp from the IP addresses running the initiator.
* Attach to the target using the initiator of your choice.

More on this later, but i have it working, just not stable yet.

Categories
howto

McAfee EPO agent uninstall

Hoe de McAfee EPO agent uninstalleren ?
Ga naar ‘Start – Uitvoeren’ tik in ‘CMD’ (zonder quotes) en druk op OK.
In het zwarte kader tik je na de cursor:

cd “c:\Program Files\Network Associates\Common Framework\”

Of indien niet succesvol probeer deze,

cd “c:\Program Files\McAfee\Common Framework\”

Tik daarna:

frminst /remove=agent

Categories
howto

IT FAQ – Veel gestelde vragen over windows en co.

  1. Ik zie geen extra station in verkenner als ik een USB disk of extra apparaat aansluit ?
    Windows 2000 & XP bevatten een vervelende bug die ervoor zorgt dat windows bij het toewijzen van een schijf letter aan een nieuw apparaat niet controleert als die schijf letter niet gebruikt wordt door een netwerk koppeling. Maak je dus bvb op een computer met harde schijf C: en cd-rom D: een netwerk koppeling aan met letter E:, dan zal je indien je daarna een USB stick aansluit geen extra schijf zien staan. Wanneer je dan E: wil verkennen kan of de netwerk koppeling of de inhoud van de stick zien.

    Voorkomen: Gebruik enkel letters verder in het alfabet voor netwerk koppelingen, en laat de eerst volgende vrije letetrs (bvb E, F, G) altijd vrij voor extra apparaten.

    Oplossing: Als je toch met zo’n geval zit, kan je via schijfbeheer de letter manueel gaan aanpassen. Klik rechts op deze computer en kies beheren in het menu. Links kies je in het menu voor schijfbeheer. Hier kan je de letter van je USB stick of apparaat aanpassen. Andere mogelijkheid is de letter van je netwerk koppeling veranderen.

  2. Outlook XP(2002) en 2003 kan geen enkele bijlage meer openen ?
    Symptomen: U krijgt een boodschap in de aard van “Can’t create file: … Right-click the folder you want to create the file in, and then click Properties on the shortcut menu to check your permissions for the folder” of in het nederlands: “Kan bestand: … niet openen (schrijven) …. controleer de permissies van de map …”.

    Oplossing: Maak de tijdelijke bestanden folder van outlook leeg. Waar deze zich bevindt kun je opzoeken in het register. Open regedit, selecteer HKEY_LOCAL_MACHINE en kies in het menu bewerken voor zoeken. Als zoekterm geef je op “OutlookSecureTempFolder” (zonder quotes). Open de gevonden registersleutel en de inhoud ervan is de locatie van de tijdelijke bestanden map. Hoogstwaarschijnlijk staat hier deze locatie: “C:\Documents and Settings\%USERNAME%\Local Settings\Temporary Internet Files\OLK??” (?? zijn willekeurige nummers). Wis de inhoud van deze map en zorg dat de permissies goed staan zodat je bestanden kan aanmaken in deze map.

  3. Onder constructie …
Categories
howto

Windows XP 2000: Tips & Hulp bij STOP codes e.a.

In mijn job als Systeem en Netwerk engineer kom ik vaak STOP codes tegen en gecrashte systemen. Om mijn ervaringen met anderen te delen kwam ik op het idee om hier aan kleine pagina neer te pennen. Hopelijk helpt het iemand die op zoek is naar hulp voor zijn probleem.

  • 1. Benodigdheden
  • Eerst en vooral heb je enkele goede tools nodig, onmisbaar is een goede boot CD. De beste uit mijn ervaring is “Hiren’s BootCD”. Maar er is nogal twijfel over de legaliteit van deze CD aangezien er enkele betalende tools op staan. Een andere boot CD is UBCD, Ultimate Boot CD. Maar ik zweer bij de Hirens Boot CD, illegaal of niet, deze CD heeft de beste tools erop.

  • 2. Analyseer de symptomen
    1. Start de PC nog op, maar hangt deze af en toe ?
    2. Zoja, controleer de eventlogs van windows xp (start – uitvoeren – eventvwr.msc – OK) kijk in de logs naar fouten op het bewuste tijdstip. Gebeurt dit in veilige modus ook, (uitsluiten van fouten door slechte drivers)? Dan test je best eens het geheugen en de disk met de nodige test tools die je kan vinden op de boot CD, zoals memtest86+ en Seagate Seatools.

    3. Stop de opstart procedure al voor het verschijnen van het windows logo bij opstarten ?
    4. Meestal gaat dit gepaard met melding zoals: NTLDR missing, Insert a bootable disk and press enter, can not boot, verwijder diskette en druk op een toets. Operating system not found, besturingssyteem niet gevonden, …
      Eerst een vooral controleer als er geen diskette of USB stick in de computer zit. Vele computers zullen hier standaard mee proberen op te starten. Indien je al de simpele fouten uitgesloten hebt kun je best eens in de BIOS kijken als je harde schijf wel nog gedetecteerd wordt, en ook best eens een testje doen met Seagate Seatools of andere. Ik verkies Segate Seatools, omdat deze ook de fysieke controller op het moederbord test, en ook de partities en het bestandssysteem test. Dit programma kan dus aangeven als er fouten op je FAT32 of NTFS partitie zitten. Die kunnen namelijk ook ervoor zorgen dat je niet meer kan starten.

    5. Soorten harde schijf problemen ?
    6. Indien de test van het programma voor jouw merk harde schijf een hardware fout aangeeft of de BIOS je harde schijf totaal niet meer herkent, dan is de enige oplossing een andere schijf steken en gebruik maken indien mogelijk van je garantie. Als de schijf wel nog herkent wordt kun je ze proberen te klonen of uit te lezen indien je nog data wilt recupereren. Klonen kun je doen met Acronis DriveImage of Symantec Ghost of andere. Vergeet de optie niet bij Ghost om ook te klonen als er fouten zijn op de schijf.

      Indien de testen uitwijzen dat de Schijf beschadigde of slechte sectoren geeft, kun je het beste de schijf vervangen door een perfect exemplaar. Maar dit is niet noodzakelijk, je kan ook opstarten met de windows XP setup cdrom, kiezen voor R van herstelconsole, en in de console “chkdsk /R” uitvoeren, dit kan wel zeer lang duren. Sommige fabrikanten bieden ook zelf een gelijkaardige tool aan maar die doen meestal tevoren een Low Level Format, dus je data is zeker weg. Een andere tool is HDD Regenerator, deze zoekt en markeert slechte sectoren op de HD en probeert indien mogelijk deze te herstellen. Zeker een aanrader.

      Indien de testen uitwijzen dat het enkel een probleem betreft met de partitietabel of met het FAT32/NTFS bestandssysteem, kun je enkele tools gebruiken. Zoals “Partition Doctor” en “Acronis Disk Director Suite” voor het bekijken/herstellen van de partitietabel. En voor oplossen van fouten in het NTFS bestandssysteem gebruik je “CHKDSK /P of /F” gebruik even “chkdsk /?” om het uit te zoeken. Veel voorkomende fouten zijn: Master File Table Corrupt, MFT bitmap corrupt, enkele verwijzingen naar systeembestanden die corrupt zijn. CHKDSK kan de meeste probleemloos herstellen, al moet je het soms 2x doen. Indien Je geen CHKDSK kan uitvoeren vanad de herstelconsole (wachtwoord kwijt ?) kan je de CHKDSK gebruiken op de Hiren’s BootCD, die wordt namelijk gelanceerd bij het kiezen voor NTFS/Ext2FS managers in het menu, en dan het item NTFS Dos Pro (eigenlijk “NTFSCHK” van winternals, een nog betere versie dan chkdsk).

    7. Stopt de opstart procedure juist voor het aanmeld scherm ?
      • Procedure voor Windows 2000:
      • Start op van de CD, modules etc … worden geladen, indien nodig laad drivers voor RAID, SCSI, etc …
        Bij het eerste scherm kies je voor R van herstellen.
        Op het volgende scherm wordt je gevraagd om te kiezen voor een snelle herstel of een manuele herstel of de console. Kies voor snelle herstel. Kruis je vingers en hoop dat de setup je installatie herkent en kan herstellen. Altijd tricky deze fase.
        Indien herkent, zal setup nu starten net alsof het een gewone installatie betreft, maar na afloop werkt alles terug en heb je nog al je programma’s en bestanden. Geen paniek als je de installatie procedure herkent, niks is geformatteerd, niks wordt gewist.

      • Procedure voor Windows XP:
      • Start op van de CD, modules etc … worden geladen, indien nodig laadt drivers voor RAID, SCSI, etc …
        Bij het eerste scherm kies doorgaan (ENTER) en niet R (herstelconsole).
        Druk op F8 om akkoord te gaan.
        Nu moet er een R verschijnen onderaan om de herstel procedure te starten, indien je dit niet ziet en enkele de optie hebt om te formatteren en een nieuwe installatie te starten heeft de setup je windows niet herkent. Probeer een andere CDROM eventueel, aangezien OEM en retail/OLK/VLK mekaar niet altijd succesvol herkennen.

      • Register Herstel Utility van Microsoft (2000 en XP):
      • Indien alle voorgaande mislukt is er nog een optie, maar zelden succesvol. Microsoft Windows 2000 Registry Repair ChkReg.Exe Hiervoor zal je ook gevraagd worden om de XP setup diskettes te downloaden en aan te maken. Je hebt hiervoor 6 lege diskette’s nodig (ja diskette’s !!). Er zijn al enkelen die het op CD hebben weten te plaatsen -> google maar. Start op van de 6 diskette’s en kies herstelconsole, de tool probeert nu het register te herstellen. Veel succes. Soms is de tool al na 2 seconden klaar, en heeft ie toch succesvol zijn werk gedaan.

      • Register manueel terug plaatsen om te booten en systeemherstel uit te voeren.
      • In het volgende KB van microsoft staat een zeer effectieve procedure bij register fouten die je kunt testen, ook als het een andere STOP code betreft of gewoon een reboot zonder STOP code.
        http://support.microsoft.com/default.aspx/kb/307545/nl

    8. Dan is het probleem waarschijnlijk register gerelateerd. Geraak je nog in veilige modus, kies daar dan voor een systeemherstel. Niet geholpen, probeer in veilige modus de opdracht “sfc /scannow”.
      Geraak je ook niet meer in veilige modus dan kun je best de windows 2000 of XP cd insteken en ermee starten voor een nood herstel procedure, één van de best bewaarde geheimen.

  • 3. Enkele voorbeelden:
    • 0x0000007A (0xE13E281C, 0xC000000E, 0xA00C766B, 0x09640860) KERNEL_DATA_INPAGE_ERROR Address A00C766B at A0000000 win32k.sys:
      Procedure -> 1) test geheugen 2) delete swapfile (bootcd, ntfs tools) 3) test hard disk (bootcd + chkdsk)
      In mijn geval was dit probleem te wijten aan de hard disk, ik heb een nieuwe disk geplaatst, via ghost een cloon gedaan van de oude disk. Daarna herstart en chkdsk laten lopen (staat een versie op de bootcd bij NTFS mount pro, of je boot vanaf windows cd en gebruikt de herstelconsole). Probleem opgelost !
    • INACCESIBLE_BOOT_DEVICE
      Procedure -> Start met bootdisk en doe een chkdsk 😉 indien niet geholpen doe een disk check met de nodige tools.
Categories
howto

AMD 64 bit technologie in detail, een verslag !

amd64

Gemaakt door: GoBieN
en Deus Ex Machina. 2 leden van de
BreedBand technologie Forums
.
datum: 01/01/2003
©2003 GoBieN. Enige reproductie van dit artikel zonder
voorafgegane toestemming is verboden.

1) Inleiding

Sinds de introductie van de Athlon, kwam AMD
onder de schaduw van Intel vandaan en was het weer zonneschijn voor de
chipbakker.

De K7-architectuur zorgde ervoor dat AMD niet
meer tot de low-budget fabrikanten behoorde, maar stevig kon concurreren met de
jarenlange marktleider: Intel.

Al na een tiental maanden na de introductie
van deze krachtpatser, begon AMD terug winst te boeken. Zo goed zelfs, dat men
de verliezen van de voorgaande jaren kon compenseren.

Uiteraard bleef AMD niet bij de pakken zitten
en kondigde omstreeks de herfstperiode van 1999 het bestaan aan van het
Hammer-project. Ze wilden het X86-platform uitbreiden met 64-bit instructies.
Iets wat de oorspronkelijke ontwikkelaar, Intel, jarenlang geweigerd had.



2) AMD?s 64 bit technologie

Het belangrijkste van de hele reeks
uitbreidingen, is zonder twijfel de 64-bit instructieset: x86-64. Een door AMD
ontwikkelde uitbreiding op de aloude instructieset van Intel.

2.1) Nadelen van de huidige 32-bit
technologie

Deze ontwikkeling blaast nieuw leven in het
x86-platform. Huidige x86-cpu?s hebben als grote nadeel dat deze niet meer dan
4GB kunnen adresseren, gaande van 00000000h tot FFFFFFFFh. Als men weet dat
hedendaagse servers al uitgerust zijn met 2GB tot 4GB geheugen, dan beseft men
al gauw dat men tegen de limieten zit van de huidige 32-bit technologie. De
AMD-64 familie is uitgerust met een 40-bit fysieke adresruimte waardoor de cpu
tot 1TB (= 1024GB! ) kan adresseren.

2.2) Nieuwe mogelijkheden met 64 bit

Intel had deze problemen al vroeger voorzien
en lanceerde een cpu met een totaal andere instructieset: de Itanium en IA-64.
Deze architectuur werd ontwikkeld door Intel en HP en werd gelanceerd in 2001.
Echter was er 1 groot nadeel verbonden met deze cpu: incompatible met de x86-32
instructieset. De cpu kan enkel door middel van emulatie een x86-32 programma
runnen, maar dit ten koste van de snelheid. Veel bedrijven moesten hun software
dan ook porten naar dit nieuwe platform. Hedendaags kent de Itanium dan ook
maar een klein succes in de high-end servermarkt. Verwacht wordt dat de
Itanium? hier meer verandering kan brengen.

AMD aanschouwde deze problematiek en kwam dus
met de oplossing om het groot gat tussen de x86 en IA-64 instructiesets op te
vullen: haar eigen 64-bit uitbreiding. Hiermee heeft men dus de eerder
beschreven voordelen van een 64-bit cpu, maar men blijft de compatibiliteit
behouden met de oudere cpu?s zonder prestatieverlies.



2.3) 2 operationele modi

De Athlon64 kan haar werk doen in 2 modi:
Legacy mode (ook wel compatibility mode genoemd) en Long mode.

In de Legacy mode kan de cpu zowel omgaan met
32-bit als 64-bit programma?s, zonder verlies van prestaties.

In de Long mode werkt de cpu in pure 64-bit
mode. Hierbij zijn ook extra registers beschikbaar en worden de
standaardregisters uitgebreid naar 64-bit.

Mode

Operating

System

Hercompilatie

Standaard instellingen

Adres grootte

Operand grootte

Register extensies

GPR grootte

Long

mode

64 bit mode

64-bit

Ja

64

32

Ja

64

32

Comp. mode

Neen

16

Neen

32

Legacy mode

32-bit of 16-bit

Neen

32

32

Neen

32

16

16



3) Hypertransport

3.1) Een nieuwe interconnect

Essentieel voor de nieuwe Athlon 64 familie,
is hun nieuwe aansluitstandaard: Hypertransport. Deze interconnect werd
tesamen met het Hammer project gelanceerd. Het is een seri?le pakketinterface
waarop verschillende I/O componenten hun data kunnen verzenden en ontvangen.

Deze interconnect standaard wordt ontwikkeld
door het Hypertransport Technology Consortium, een vereniging van verschillende
bedrijven die gebruik willen maken en het verder ontwikkelen van deze
technologie. Bekende leden van deze organisatie zijn Apple, Cisco, Nvidia,
Silicon Graphics, Transmeta,? Aangesloten leden mogen deze technologie dan kosteloos
importeren in hun producten.



3.2) Weg met de bottlenecks

De reden waarom Hypertransport ontwikkelt
werd, ligt in het feit dat huidige systemen veelal last hebben van
verschillende bottlenecks. Onderling communiceren verschillende I/O onderdelen
met elkaar aan een veel tragere snelheid dan dat de cpu zelf kan verwerken.

?

Fig 3.2: klassieke
opstelling chipset

Bekijken we een klassieke opstelling zoals in
figuur 3.2:

Alle data afkomstig van de Southbridge moet
via de PCI bus (133MB/s) passeren. Bij een te hoge bezetting van deze bus, zakt
de algemene prestatie van het systeem. Verschillende chipsetfabrikanten
proberen deze bottlenecks te verminderen door allerlei snelheidsverhogingen
door te voeren in hun eigen bussystemen zoals V-Link, MultIoL,?. Echter nam de
complexiteit enorm toe bij een minieme snelheidswinst.



3.3) Nieuwe componenten

Nu komt AMD aanzetten met hun eigen universele
oplossing. Ze hebben o.a 3 componenten ontwikkelt die aangesloten worden op een
Hypertransport-interface: de AMD-8111 I/O hub, AMD-8131 PCI-X tunnel en de
AMD-8151 AGP3.0 tunnel.

Fig. 3.3:

Gebieden waar de
prestaties werden verbeterd:

1)
De frontside bus:

Voor
optimale prestaties, moet de FSB bandbreedte evenredig stijgen met de stijgende
bandbreedte van de cpu. De K7-familie had een beginnende bandbreedte van
2.1GB/s. Door deze frontside bus te vervangen door een hypertransport-link
heeft men hier nu een bandbreedte van 6.4GB/s wat in de toekomst verhoogt zal
worden naar 12.8GB/s

2)

De geheugen-interface:

Door
de directe geheugeninterface, staan geheugen en processor in directe verbinding
met elkaar. Hierdoor daalt de latency (=vertragingstijd) enorm en resulteert
dit in een verhoging van de bandbreedte. Hoe hoger de cpu-frequentie, hoe lager
de latencies zullen worden

3)
De chip-naar-chip
interconnect

Huidige chipsetopstellingen bieden een bandbreedte
tussen beide chips vari?rend van 266MB/s tot 1GB/s. Dit kan voldoende lijken
voor de gewone desktop pc, maar wanneer we kijken naar de integratie van
Gigabit-Ethernet, PCI-X, AGP 8x, SATA-150,? zien we direct dat we zelfs met een
onderlinge bandbreedte van 1GB/s, de bus snel kunnen verzadigen. Hypertransport
lost dit probleem op door meedere links tussen beide chips te plaatsen.

4)
Uitbreiding met
snellere I/O

Wilde men meerdere snellere I/O componenten
integreren, kon men dit doen door:

?
Het nieuwe component
aan te sluiten op de PCI-bus, maar ten kosten van de bandbreedte

?
Aansluiten op de hogere
interconnect tussen North- en Southbridge via een bridge. Maar dit ten nadele
van de beschikbaarheid en de prijs

?
Het nieuwe component
integreren in de Northbridge, echter moet men randcomponenten toevoegen waarbij
de prijs en beschikbaarheid enorm nadelig zullen zijn.

Met hypertransport kan het eenvoudig: sluit het nieuwe
component aan op een link en de bandbreedte is beschikbaar. Een goedkope en
snelle oplossing.



3.4) Superscalaire multiprocessing

Een ander voordeel van hypertransport is de
gemakkelijke manier van integratie bij multiprocessor systemen.

Klassieke multiprocessor opstellingen hebben
een groot nadeel: de beschikbare bandbreedte per cpu vermindert bij een
toenemend aantal cpu?s. De bandbreedte dat het geheugen biedt, wordt telkens
verdeelt over het aantal processoren zoals links te zien op onderstaande
figuur. Hierdoor verkreeg men geen optimale prestatiewinst als men 2 cpu?s ipv
1 cpu gebruikte.

Hammer platform preview: klassieke northbridge opstelling

Fig. 3.4.1: Links de klassieke opstelling van
Intel MP-chipsets: alle cpu?s gebruiken een gemeenschappelijke FSB en geheugen.

Rechts zien we de
AMD MP-opstelling: iedere cpu krijgt een aparte FSB, maar moeten toch het
geheugen delen.

Voordien trachtte AMD dit probleem te
omzeilen door elke cpu te voorzien van een aparte bus met de Northbridge, zoals
te zien rechts op bovenstaande figuur. Echter werd de geheugen en I/O
bandbreedte nog steeds gedeeld.

De K8 heeft dit probleem niet. Iedere cpu
heeft zijn eigen connectie met het geheugen en? geniet van de volle
bandbreedte.

Hammer platform preview: HyperTransport topologie

Fig. 3.4.2: Iedere
cpu krijgt zijn eigen geheugen toebedeeld, zodat elk de maximum bandbreedte van
het geheugen kan benuttigen. Ook stijgt de totale bandbreedte evenredig met het
aantal cpu?s.



Een bijkomend voordeel is de manier waarop de
cpu?s aan elkaar gekoppeld worden: enkel dmv een hypertransportlink. Geen
nieuwe chipset vereist. Wil men een cpu bijplaatsen, moet men enkel een link
plaatsen tussen de cpu?s. Hoe meer processors men gebruikt, hoe groter de
totale bandbreedte wordt.

Wil men meer I/O componenten gebruiken, moet
men enkel een hypertransport link leggen tussen het nieuwe component en de cpu.
Dankzij de eenvoud van het systeem, is het voor AMD bijzonder gemakkelijk om
2/4/8-cpu systemen uit te brengen. Hiermee kan men direct de server en
workstation markt voorzien.

3.5) Hypertransport: de techniek

HyperTransport is een seri?le link die de
data, commando?s en adressen over dezelfde lijnen verstuurd. De data wordt
verpakt in paketten die een lengte hebben van 4 bytes of een veelvoud daarvan.

De links hebben een breedte van 2, 4, 8, 16 of
32-bit in beide richtingen. De snelheid is beperkt tot 1,6Gbit/s per pin-paar.

Fig. 3.5: bij
een busbreedte van 32bit hebben we dus een bandbreedte van 1.6Gbit/s *
8bit/byte * 32 bit breed * 2 richtingen = 12.8GByte/s



4) De ge?ntegreerde
geheugencontroller

Vroeger bevond de geheugencontroller zich in
de Northbridge, een chip die alle periferie laat communiceren met de cpu.

Afbeelding
4.1.1:

Hedendaags moet alle data die van en naar de cpu moet,
passeren via de Northbridge. Indien de cpu data moet ophalen of lezen uit het
geheugen, dan moet dit passeren via de cpu. De verbinding tussen cpu en
Northbridge wordt de Front Side Bus genoemd, kortweg FSB. Merk de ?extra lange?
weg op die tussen cpu en geheugen ligt.

De voordelen van de on-die memory controller
mogen duidelijk zijn (zie afb. 4.1.1)

Het geheugen ligt ?dichter? bij de
processor, zodat aanvragen in een kortere tijd heen en weer met als voordeel
dat de processor minder lang moet wachten eer data opgehaald is. In de praktijk
ziet men dat de latency van 100ns bij de Athlon XP verlaagd werd naar 70ns bij
de Athlon 64.

Hierdoor zal de effici?ntie van het
geheugengebruik stijgen. Recente tests hebben dit ook al bewezen: tot 97% van
de theoretische bandbreedte werd gemeten tijdens de geheugenbenchmarks! Bij de
Athlon XP varieert dit rond de 78%.

Afbeelding 4.1.2: de ondie memorycontroller

Diverse applicaties behalen hiermee voordelen. Volgens AMD kan dit tot
20% snelheidswinst opleveren, gaande van games tot fotobewerkingssoftware

Fig. 4.1.3: latencytest memcontroller

Toegangstijd in ns (lager is beter)

Afbeelding 4.1.3 toont duidelijk aan welke winst men geboekt heeft. De
latency van de ondie geheugencontroller op de Opteron is beduidend minder dan
de Athlon XP die getest werd op een Nforce? platform.

Een miniem nadeel is hier wel dat de geheugenondersteuning nu
afhankelijk geworden is van de cpu en niet meer van het moederbord. Maar
volgens AMD is dit voorzien en zal ze de geheugencontroller opwaarderen
naargelang de markt dit eist.



5) Silicon-On-Insulator

De nieuwste telg van AMD wordt geproduceert
uit SOI-wafers.

5.1) De techniek

Silicon-On-Insulator, kortweg SOI, is een
techniek van IBM die ervoor zorgt dat transistoren sneller en kleiner
gefabriceerd kunnen worden. Voor vele chipbakkers is deze technologie dan ook
een enorme stap vooruit omdat deze de prestaties aanzienlijk verhoogt. IBM
gebruikt een techniek (SIMOX, seperation by implantation of oxygen) waarbij
hoge yields (opbrengst per wafer) gegarandeerd kunnen worden..

De voordelen die men heeft door gebruik te
maken van SOI-wafers in de productie mogen er zijn:

IBM heeft in haar labo?s prestatiewinst van
25% ? 35% gemeten in de schakeltijden van de transistoren in vergelijking met
de huidige CMOS-technologie.

Qua verbruik ligt het gebruik van SOI-wafers
ook heel gunstig: 40% tot 50% minder energieverbruik dan CMOS, wat uiteraard
ideaal is voor low-voltage toestellen.

5.2) Opbrengst per wafer

De cpu?s worden gesneden uit 200mm wafers.
Volgens tomshardware.de is de opbrengst per wafer ongeveer 73 cpu?s.

Fab30 Dresden yield: 73 Athlon 64 CPUs per wafer!Fig.
5.2.: uit een 200mm wafer kunnen er 122 cpu?s behaald worden, zolang de
opbrengst 100% is. Echter in de praktijk blijkt dat een fabrikant na 2 jaar
ongeveer 60% opbrengst kan bekomen, wat het resultaat op 73 cpu?s brengt.



6) Bespreking van de
familie

In de volgende hoofdstukken zullen we alle
uitgebrachte cpu?s brengen:



6.1) Opteron, benaming en reeksen.

De Opteron is de 64-bits processor
voor servers en workstations, hiermee probeert AMD een plaats te veroveren in
deze, door Intel gedomineerde, markt.

Met de Opteron die goedkoper is en beter
presteert in vergelijkende testen, zit AMD in een ideale positie om hun plaats
op de markt te veroveren. In volgende tabel (fig. 6.1) vinden we een
samenvatting van de huidige Opteron Modellen. De 100-serie voor ?single-cpu?
opstelling, de 200-serie voor ?dual-cpu? systemen en de 800-serie voor ?multi-cpu.



Series

100 Series

200 Series

800 Series

Scalability

1-way

Up to 2-way

Up to 8-way

1.4GHz

Model 140

Model 240

Model 840

1.6GHz

Model 142

Model 242

Model 842

1.8GHz

Model 144

Model 244

Model 844

2.0GHZ

Model 146

Model 246

Model 846

Integrated DDR
memory controller

ja

ja

ja

Memory controller width

128-bit

128-bit

128-bit

ECC DRAM protection

Ja

Ja

Ja

HyperTransport?
Technology

Ja

Ja

Ja

HyperTransport Links (total/coherent)

3/0

3/1

3/3

HyperTransport Link width

16 bits x
16 bits

16 bits x

16 bits

16 bits x
16 bits

HyperTransport bus frequency

800MHz

800MHz

800MHz

AMD64

Ja

Ja

Ja

Simultaneous 32 & 64-bit computing

Ja

Ja

Ja

L1 Cache Size (data/instruction)

64KB/
64KB

64KB/
64KB

64KB/
64KB

L2 Cache Size

1MB

1MB

1MB

Pipeline stages (integer/floating point)

12/17

12/17

12/17

L1/L2 data cache protection

ECC

ECC

ECC

L1/L2 instruction cache protection

Parity

Parity

Parity

Global History Counter Entries

16K

16K

16K

L1 TLB entries (data/instruction)

40/40

40/40

40/40

L1 associativity (data/instruction)

Full/Full

Full/Full

Full/Full


Series

100 Series

200 Series

800 Series

L2 TLB entries (data/instruction)

512/512

512/512

512/512

L2 associativity (data/instruction)

4-way/
4-way

4-way/
4-way

4-way

/4-way

Process

.13 micron SOI

.13 micron SOI

.13 micron SOI

Fig. 6.1:
Overzicht Opteron modellen



De Opteron beschikt over een 128 bits dual channel
geheugen controller die werkt met ECC registered 400 Mhz (PC3200) DDR SDRAM
geheugen. Ook beschikt de Opteron over 1 MB L2 cache wat zorgt voor een prestatie
winst in software die intensief gebruikt maakt van geheugen. De L1 cache blijft
zijn grootte behouden van 128 KB.

De traditionele frontside bus om processor met
de Northbridge te laten communiceren is vervangen door een HyperTransport link.
De Hypertransport links kunnen ook communiceren met de Southbridge of andere
Opteron processors in multiprocessor opstellingen.



De Opteron 100 reeks heeft 1 HyperTransport
link van de
3 in gebruik. Deze
onderhoudt de communicatie met southbridge en randapparatuur.

De Opteron 200 reeks is geschikt om met een
andere Opteron te communiceren dmv een extra link.

Fig. 5.2:
Opstelling met 2 processors???????????????? Fig. 5.3: Opstelling met 4
processors

???????????
Fig. 5.4: Opstelling met 8
processors



6.2) AMD Athlon 64

Met de Athlon 64 hoopt AMD een sterke positie in te
nemen tegen grote concurrent Intel die vaste voet heeft in de desktop markt. Nu
al toont deze processor zich capabel om zich te meten met de nieuwste telg van
Intel, de Pentium 4 Extreme Edition . En dit alles gebeurt dan nog in 32 bits
mode, wanneer de 64 bits versie van windows uitkomt zal deze processor echt
zijn kracht kunnen tonen.

Nu momenteel is de Athlon 64 3200+ (2Ghz)
vlot verkrijgbaar en wordt binnen enkele maanden de Athlon 64 3000+ (1.8Ghz) en
de Athlon 64 3400+ (2.2 Ghz) uitgebracht. Niet lang daarna wordt ook de Athlon
64 3700+ (2.4 Ghz) uitgebracht.

De Athlon 64 had als codenaam ClawHammer en
heeft enkele beperkingen tegenover de Opteron en Athlon 64 FX (codenaam
SledgeHammer), enkele van deze zijn, geen dual channel geheugen controller en maar
1 HyperTransport link.

Deze cpu kan niet gebruikt worden in
dual-processor systemen door het ontbreken van de nodige HyperTransport links.

De Athlon 64 wordt nog geoptimaliseerd
doordat de HyperTransport link die nu op 800 Mhz data transporteert, wordt
vervangen door een HyperTransport link die op maar liefst 1 Ghz loopt. Als men
dit nu even in gedachte neemt wetende dat iets meer dan 2 jaar geleden iedereen
opkeek toen de processors de 1 Ghz -barri?re doorbraken lijkt dit een
ongelofelijke vooruitgang en wedloop tussen de twee giganten Intel en AMD.



6.3) AMD Athlon 64 FX

Omdat de Athlon 64 geen dual channel
geheugencontroller aanboord heeft hebben ze bij AMD de Athlon 64 FX
ge?ntroduceerd.

Doordat het moeilijker zou zijn om de Athlon
64 (ClawHammer) aan te passen met een dual channel controller hebben ze bij AMD
besloten om de Opteron (SledgeHammer) te nemen en te hernoemen.

Er duikt nu wel een probleem op, de Opteron
heeft een geheugencontroller die alleen maar werkt met ?ECC registered? (fout
controle) geheugen. Aangezien het geheugen de dag van vandaag toch van hoge
kwaliteit is voor desktop systemen, en ECC RAM beduidend meer kost hebben ze
bij AMD besloten om met een variant te werken die geen ECC vereist. De nu
huidige Athlon 64 FX 51 is dus een exacte kopie van de Opteron en moet dus
geplaatst worden op een Socket 940 moederbord.

De latere variant die zonder ECC geheugen
zal werken, die we binnen een half jaar mogen verwachten, zal op een socket 939
moederbord werken.

De moederbord fabrikanten zien de socket 940
maar graag gaan want deze vereist een 6-layer-PCB moederbord, en de socket 939
vereist maar een 4-layer-PCB moederbord. Nog een groot verschil tussen de
Athlon 64 en de Athlon 64 FX is weeral iets geleend van de Opteron: namelijk
meerdere coherente HyperTransport links waardoor er een dual- of multiprocessor
opstelling mogelijk is.

De huidige Athlon 64 FX-51 (2Ghz) wordt
tegen december opgevolgd door een Athlon 64 FX-53 (2.2Ghz) en later door een
Athlon 64 FX-55 (2.6Ghz) deze laatste twee zullen zoals hierboven uitgelegd
geen ?ECC Registered? geheugen nodig hebben.

In een later stadium wordt er ook nog een
dual-processor systeem verwacht op basis van de Athlon 64 FX.



6.4)
De Athlon 64 Mobile

De Athlon 64 Mobile is de variant voor
laptops en notebooks. Hier klinkt ook weer de toekomst muziek. De implementatie
van SOI (silicon On Insulated), een techniek die ervoor zorgt dat er veel
minder vermogen benodigd wordt, op de Athlon 64 maakt de processors uitermate
geschikt om gebruikt te worden in laptops zodat een hogere snelheid en kracht
niet ten koste gaat van autonomie. Op laptops met een Athlon 64 mobile
processor wordt het waarschijnlijk wel nog een klein jaartje wachten.

7) Chipsets

7.1) Chipsets voor de Opteron processor.

7.1.1)
AMD?s eigen chipset

Voor de Opteron processor is er geen resem
aan chipsets verkrijgbaar maar is het hoofdzakelijk de chipset van AMD zelf die
gebruikt wordt, die trouwens ook geschikt is voor de Athlon 64.

De gebruikte chipset noemt de ?AMD 8000
series? chipset. Een onderdeel van deze chipset is de AGP Tunnel, de AMD 8151
AGP Tunnel, maar deze wordt bijna niet gebruikt bij Opteron moederborden omdat
de Opteron bedoeld is voor de server markt en er daar geen gebruik wordt
gemaakt van de AGP-bus.

Op onderstaande figuur (Fig. 7.1) zien we
een close-up van nog een ander onderdeel van de chipset namelijk de ?AMD-
8111? HyperTransport I/O Hub, beter gekend onder
de naam SouthBridge.

Fig. 7.1: De ?AMD-8111? HyperTransport I/O Hub


Een derde belangrijke chip in de ?AMD-8000? chipset is de ?AMD-83131 HyperTransport PCI-X Tunnel. In de onderstaande foto (Fig. 8.2) zien
we deze chip van dichtbij. Deze chip onderhoudt de communicatie tussen
processor en de
PCI(-X) bus waar de randapparatuur is op aangesloten.

Fig. 7.2: De ?AMD-8131? HyperTransport PCI-X Tunnel



7.1.2) De
Nvidia Nforce3

Een twee chipset is de Nforce 3 van Nvidia, deze is enkel
gericht op de Opteron 100 series van AMD. Op deze chipset vinden we ook een AGP
Tunnel terug en deze wordt wel gebruikt, omdat de Opteron 100 series zich ook
richt naar de werkstation markt. Deze chipset bevindt zich op een enkele chip,
waar de AGP, IDE en SOUND in ge?ntegreerd zitten.

De eerste versie van de Nforce 3 is de Nforce 3 Pro 150,
deze heeft quasi dezelfde eigenschappen als de Nforce 2 (chipset voor Athlon XP
K7), deze zijn 10/100 ethernet, 3 IDE kanalen (1 voor S-ATA en 2 voor ATA133),
AC97 5.1 geluid, en natuurlijk 8 USB poorten.

De Opvolger van de Nforce 3 Pro 150 wordt de Nforce 3 Pro
250 met als enige verandering de 1Gbps Ethernet functionaliteit.

7.2) Chipsets voor de Athlon 64 processor

Voor de Athlon 64 zijn er meerdere chipsets beschikbaar,
de Nforce 3 van Nvidia, de K8T800 van VIA en de M1687 van ALI.
Hieronder zie je een kleine vergelijkingen tussen de
3 in snelheid en prestatie.

Uiteindelijk wordt er geconcludeerd dat de
prestatieverschillen tussen de drie chipsets veel minder duidelijk zijn dan
destijds bij de Athlon XP-chipsets. Daar was de nForce2 duidelijk de winnaar op
performantie gebied. Nu geven vooral de prijs en de meegeleverde extra features
de doorslag. Dat laatste is duidelijk in het voordeel van VIA, omdat zij met de
K8T800 een chipset hebben die van deze mogelijkheden is voorzien en die
bovendien reeds verkrijgbaar is. nVidia zegt dit jaar nog extra
functionaliteiten aan de nForce3 toe te voegen. ForceWare voegt echter weer dat extra
noviteitje toe dat andere chipsetbakkers niet kunnen brengen. ALi presteert
goed, maar heeft nog geen uitspraken gedaan over eventuele uitbreidingen in de
toekomst. Misschien richten zij zich op de low-cost markt.

3DMark 2003

nVidia nForce3

5201

VIA K8T800

5078

ALi M1687

4869

SiSoft Sandra memory floating point
(MB/s)

ALi M1687

3085

VIA K8T800

3046

nVidia nForce3

3042

Quake Arena (Frames per seconde)

nVidia nForce3

434

ALi M1687

424

VIA K8T800

412

Fig. 7.3: Nforce 3
150 voor AMD Athlon 64


Fig. 7.4: VIA K8T800 voor AMD
Athlon 64



Fig. 7.5: De ALI
M1687 chipset voor AMD Athlon 64

Fig. 7.6: De ALI
M1687 chip van dichtbij.