Giter Club home page Giter Club logo

iscsiconsole's Introduction

About iSCSI Console:

iSCSI Console is a Free, Open Source, User-Mode iSCSI Target Server written in C#.
iSCSI Console is cross-platform, portable and requires no installation.
iSCSI Console can serve physical and virtual disks to multiple clients.

About the iSCSI library:

The iSCSI library utilized by iSCSI Console was designed to give developers an easy way to serve block storage via iSCSI.
Any storage object you wish to share needs to implement the abstract Disk class, and the library will take care of the rest.
The library was written with extensibility in mind, and was designed to fit multitude of projects.
iSCSI Console is merely a demo project that exposes some of the capabilities of this library.

A NuGet package of the library is available.

Notes:

In addition to a full fledged iSCSI Target server implementation, the iSCSI library also contain a very basic iSCSI initiator implementation.

What this program can do:

  1. Serve virtual disks (VHD / VMDK / IMG).
  2. Serve physical disks.
  3. Serve basic volumes as disks.
  4. Serve dynamic volumes as disks.
  5. Create VHDs.
  6. Can run under Windows PE using Mono.
  7. Can run under Linux / OSX using Mono (use the release targeting .NET Framework 4.7.2)

iSCSI Console UI

Contact:

If you have any question, feel free to contact me.
Tal Aloni [email protected]

iscsiconsole's People

Contributors

ab932 avatar talaloni avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

iscsiconsole's Issues

Always crash when click "add physical disk"

Error1

Always crash when click "add physical disk"

Get this error every time, can it not just skip disk with errors and then show others


Exception: System.IO.IOException: Failed to get disk 0 online status, Win32 Error: 32 Source: ISCSIConsole at DiskAccessLibrary.Win32.PhysicalDisk.GetOnlineStatus(Boolean& isReadOnly)
at ISCSIConsole.SelectPhysicalDiskForm.SelectPhysicalDiskForm_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

same error with 1.5.1 and 1.5.2

Support for sparse vmdk files

It is possible to add support for vmdk sparse files? now I am getting following message: "Unsupported Disk Image Format".

(CHAP)SuperUser Writable Function Support

This is a great project, would like to add the ability for superUser(CHAP) to be writable in read-only disk scenarios. Good flexibility with reliable file security👍.

How to run in linux?

I want to run this program in ubuntu. Running after installing mono, it doesn't work!

Inquiry about Command Line API for Automation in Windows PE

Hello,
The following content has been generated through translation.

I am wondering if this application provides a command-line API. I am looking to implement automation within Windows PE.

While the program runs smoothly on my Windows system, I am interested in having it automatically start the iSCSI server upon booting into Windows PE.

Could you please confirm if there are relevant interfaces or APIs available for this purpose?

VMware ESXi Not Finding Any Devices

when trying to connect with VMware ESXi the ExecuteCommand where it is checking if lun >= m_disks.Count is returning the CheckCondition status code.

Is there any way to keep the name of the target?

Is there any way to keep the custom name of the iscsi target after closing then opening it again?
Or after restarting the pc and adding this program to startup?

Thanks for making this wonderful piece of software.

feature request: allow large than 2GB ramdisk

change to allocate unmanaged ram instead of byte array for more larger

public class UnmanagedRamDisk : Disk, IDisposable
{
    public override int BytesPerSector => 512;
    public override long Size { get; }

    private readonly IntPtr _ramBlock;

    public UnmanagedRamDisk(long size)
    {
        Size = size;
        if (IntPtr.Size == 4 && size > uint.MaxValue) throw new NotSupportedException("32 bit process can not allocate large than 4GB RAM");
        _ramBlock = Marshal.AllocHGlobal(((IntPtr)size));
    }

    public void Dispose() => Marshal.FreeHGlobal(_ramBlock);

    public override byte[] ReadSectors(long sectorIndex, int sectorCount)
    {
        var buf = new byte[sectorCount * BytesPerSector];
        Marshal.Copy((IntPtr)(_ramBlock + sectorIndex * BytesPerSector), buf, 0, buf.Length);
        return buf;
    }

    public override void WriteSectors(long sectorIndex, byte[] data)
    {
        Marshal.Copy(data, 0, (IntPtr)(_ramBlock + sectorIndex * BytesPerSector), data.Length);
    }
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.