TIER-0.2.3 is available for download

This release of tier makes it possible to disable or enable data migration via sysfs.

To disable migration:
echo 1>/sys/block/tiera/tier/disable_migration
To enable migration:
echo 0>/sys/block/tiera/tier/disable_migration

When migration is re-enabled the migration process will immediately wake up and start. This feature allows to schedule block migration to take place at a convenient time. In future releases the sysfs interface will be expanded so that all migration related parameters can be managed via sysfs.

Enjoy,

Mark Ruijter

 

This entry was posted in Uncategorized. Bookmark the permalink.

13 Responses to TIER-0.2.3 is available for download

  1. Jean says:

    Excellent
    people have more problems thinking in terms of negation of something. Why don’t you call it enable_migration and default it to 1? :-D
    Keep up the great work

  2. Erik Sørnes says:

    Which kernel should tier compile against ?
    I have tried it against linux mint 2.6.38 and “make” gives errors like:

    tier-0.3.1/tier.c:883:11: error: too many arguments to function ‘vfs_fsync’

    • maru says:

      Hi Erik,

      I did not try 2.6.38.
      However 2.6.32 works. And > 3.0 works as well.

      Please check the lines :
      #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,0,0)
      change them to
      #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)

      I am interested to hear if this solves your problem.

      • Erik Sørnes says:

        Sorry for posting the first reply out of thread. I just want to tell you that after also changing every occurence of

        #if LINUX_VERSION_CODE <= KERNEL_VERSION(3,0,0,)
        in tier.c to
        #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,37)
        the module compiled and inserted without errors.

  3. Erik Sørnes says:

    I did that, and the compilation went a bit further.
    Now it stops on:

    tier-0.3.1/tier.c: In function ‘tier_do_bio’:
    tier-0.3.1/tier.c:1137:2: error: implicit declaration of function ‘bio_rw_flagged’
    tier-0.3.1/tier.c:1137:32: error: ‘BIO_RW_BARRIER’ undeclared (first use in this function)

  4. Mark Ruijter says:

    Hi Erik,

    It looks like you have to keep these lines unmodified then.
    Did you try this? Most likely the 2.6.38 kernel has some changes implemented but not all.

    #if LINUX_VERSION_CODE <= KERNEL_VERSION(3,0,0)
    barrier = bio_rw_flagged(bio, BIO_RW_BARRIER);
    #endif
    if (bio_rw(bio) == WRITE) {
    #if LINUX_VERSION_CODE bi_rw & REQ_FLUSH) {
    #endif

    • Erik Sørnes says:

      Hi!
      I have experimented with kernels 2.6.32-2.6.39, and make fails on quite a few of them. I don’t know if this patch to tier.c is programatically correct, but at least it makes the module compile without errors on all of these kernels.

      877c877
      = KERNEL_VERSION(3,0,0)

      > #if LINUX_VERSION_CODE == KERNEL_VERSION(2,6,32) || LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)
      1014c1014
      = KERNEL_VERSION(3,0,0)

      > #if LINUX_VERSION_CODE == KERNEL_VERSION(2,6,32) || LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)
      1123c1123
      < #if LINUX_VERSION_CODE #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,37)
      1136c1136
      < #if LINUX_VERSION_CODE #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,35)
      1140c1140
      < #if LINUX_VERSION_CODE #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,37)
      1175c1175
      < #if LINUX_VERSION_CODE #if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,37)
      1774c1774
      = KERNEL_VERSION(3,0,0)

      > #if LINUX_VERSION_CODE == KERNEL_VERSION(2,6,32) || LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,37)

      • Erik Sørnes says:

        Sorry, the patch got misconfigured when I pasted it, but it’s just replacements of lines, so I guess the picture is clear.

  5. Syeen says:

    Hi mark,

    I have done make and it was compiled successfully. When I tried setting up tier with the following command :

    ./tier_setup -f /dev/mapper/datavg-datalv:/mnt/NAS

    It failed with the following error:

    Failed to open /dev/tiercontrol, is tier.ko loaded?

    Did I miss out any step? Is make the only step i have to carry out? After I set up with tier_setup, how do I check if it’s running? What else do I need to do? Sorry for the long list of questions, i can’t find any documentation on this.

    • maru says:

      Make sure that you have loaded the kernel module : insmod tier.ko

      The first time, and first time only, you have to initialize the device with -c:
      ./tier_setup -c -f /dev/mapper/datavg-datalv:/mnt/NAS

  6. Syeen says:

    Hi Mark, when you said initialize the device, does it mean something similar to formatting the device hence clearing all the data? I have issued insmod tier.ko without any error.

  7. Marius says:

    Hello,
    I have the same issue with version 0.3.1, but lsmod clearly shows, that tier is loaded.
    Do I have to do something before creating the first device?

    Best regards,
    Marius

  8. Hey Maru!
    It is safe to use Tier+EPRD in a production environment? I’m planning to build a tiered iSCSI storage (Tier with EPRD on SSD, SAS, SATA) on a Dell PowerEdge R710 with dual power supply (Each one connected to a different UPS), 32 GB ECC Memory with daily backup?
    I have to substitute my Equallogic for a couple weeks due to a requalification procedure.

    Thx!

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>