I'll start from far away. How often do you see organizations using Remote Desktop Connection as the main way to work in the office? I began to meet these increasingly, and my personal opinion is convenient! Convenient for employees, convenient for system administrators, and the company itself can reduce IT costs. And often it is even necessary for comfortable multiplayer work in some programs (for example, 1C software).
And how often do you see that normal full-fledged PCs are used as clients, sometimes even quite productive for local work.
The conversation will be about great iSCSI technology, and how we can use it to reduce the total cost of ownership, and will help those who want to get a closer look at the technology.
Vicky reads:
iSCSI (Internet Small Computer System Interface) is a protocol that is based on TCP / IP and is designed to interoperate and manage storage systems, servers and clients.
')
To understand what is happening, we define the terminology:
iSCSI Target: (iSCSI Target) is a program or hardware controller (HBA) that emulates a disk and performs iSCSI requests.
moreiSCSI Initiator: (iSCSI Initiator) - A client program or hardware controller that interacts with an iSCSI Target.
IQN: (iSCSI Qualified Name) - Unique identifier of the iSCSI Target or iSCSI Initiator.
LUN: (Logical Unit Number) - The address of the block device in the range 0-127.
moreISCSI Initiator
The beauty is that Windows 7, Windows Server 2008 and everything older can be installed directly on the iSCSI target. The only problem is how to initialize the remote block device when the PC is turned on.
All modern network cards can work using PXE technology, but only expensive server network cards,
such as intel, are friends with iSCSI.
However, there are at least two familiar to me open source project
gPXE and
iPXE , the latter, by the way, fork of the first, with a slightly modified error output system and several additional options.
I personally use gPXE, I found it first, besides, they have a very convenient
rom-o-matic generator on the site
.There are many ways to boot via gPXE. For the working version, I stitched its ROM instead of the PXE bootloader in the BIOS of the meter. Risk option, you can be left without a motherboard, running ahead it will reduce the load time by ~ 10 seconds.
I'll tell you better about a simple and safe for equipment method called PXE chainloading
in detail (English) . The bottom line is that with the PXE bootloader we load gPXE, which in turn acts as an iSCSI initiator and transfers control to the disk. To do this, we need a TFTP server (I did not resort to third-party software, I did it like
this ) and the correct setting of the DHCP server.
This is what my DHCP options look like:


Pay attention to the parameter “175 gPXE_Options”, the encapsulated value “08 01 01 ff” means the option keep_san = 1, which causes gPXE not to delete the registration of the disk in case of unsuccessful boot from it (this is necessary to install the operating system).
In the parameter “017 Root Path” the easiest syntax would be iscsi: <ipc iSCSI target> :::: <iqn target>
The iSCSI initiator settings are over.
ISCSI target
As a goal, I used
Microsoft iSCSI Software Target 3.3Target settings are extremely simple and intuitive.
Create a new or import an existing VHD disk:

Next, create a goal:

Add a created or imported wound disk:

At this goal setting is almost complete. It remains only to add the IQN (or any other type of identifier: MAC, IP) to the initiator (s) that has access to this target.

If after this, when loading the client PC into gPXE, the inscriptions will flash:
Registered as BIOS drive 0x80
Booting from BIOS drive 0x80
So we did it. And you can begin to install the OS.
Install OS or Epic Fail
Already with nostalgia I remember the moment when the first time I reached this stage and ... at first I was comprehended by a bunch of disappointments. Looking ahead, I will say that the cause of many was the unsuccessful motherboard
GYGABYTE GA-425TUD .
What did I see when I got to the disk selection point? Right. Nothing. I thought, yeah, you need to load network drivers. An abnormally long search of ~ 30 - 40 minutes on an empty flash drive, where only firewood was copied to the desired network card, made me think that the OS hangs and 5-10 times I did not wait for the search to finish, turned off, rebooted, changed gPXE options. It so happened that once I still waited until the drivers were found, and was happy as a child when I discovered that the drive so desired for me appeared in the selection menu.
The joy was also overshadowed by the fact that the OS informed me that it was impossible to install on this disk and kindly asked me to check if the controller of this disk is included in my BIOS.
The solution was found pretty quickly
right here at the bottom. In short, the guys advised to turn on / off the SATA controller, change its mode of operation IDE, ACHI and even try to connect the real disk during the installation, but install it on an iSCSI disk. For me, the connection of a real disk in ACHI mode worked. Now the installation went to the iSCSI disk without problems. However, after rebooting the OS (one of the installation steps), I constantly caught BSOD on classpnp.sys.
The reason is still not entirely clear to me.
Great effort was found
clueThe solution was to disable the LWF filter in the OS on the network card.
Open the HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Class \ {4D36E972-E325-11CE-BFC1-08002BE10318}
Find and open the subfolder for the NIC (eg. 0007)
Opens the subfolder Linkage
Edit the filterlist. Remove the line that refers to the LWF driver UUID {B70D6460-3635-4D42-B866-B8AB1A24454C}. In my case, this is the second line of the ball.
Before:
{158B0494-2576-4DE5-9E32-98DB9E177DD8} - {B5F4D659-7DAA-4565-8E41-BE220ED60542} -0000
{158B0494-2576-4DE5-9E32-98DB9E177DD8} - {B70D6460-3635-4D42-B866-B8AB1A24454C} -0000
After:
{158B0494-2576-4DE5-9E32-98DB9E177DD8} - {B5F4D659-7DAA-4565-8E41-BE220ED60542} -0000
In this embodiment, I even earned a problem motherboard.
After that, I tried another 2 or 3 motherboards, the installation went smoothly from the beginning (all that was needed was to load the network drivers).
Tests
I wonder how much it will be noticeable that my HDD is somewhere out there 100 meters away from me? On the eyes do not distinguish! But I did not even hope that you would believe my eye on this I will give the test results.
Our heroes:
Seagate ST500DM002 - will work locally, as in humans; D
Patriot 128 PYROSE iSCSI SSD - on the server, will work via iSCSI, 1GB network channel.
iSCSI RAID 10 4xSeagate ST500DM002 - on the server, will work via iSCSI, 1GB network channel.
(Local) Seagate ST500DM002


iSCSI SSD Patriot 128 PYROSE


iSCSI RAID 10 4xSeagate ST500DM002


Summary and conclusions


In my opinion, a completely worthy technology, as can be seen from the tests, even on a 1GB network has a good efficiency. With current prices on HDD, it will save at least 2500r from a workstation and simplifies the task of backing up data. In my organization, all the employees work in the terminal, they also opened an educational class for 8 workplaces, it was there that I introduced this technology as a test.
I am happy to answer questions.