Storage node issues



  • I’ve been running .32 with 2 storage nodes for several years without difficulty. All based on Ubuntu 12.04.

    I’m finding that having upgraded the primary server to 1.0.1, uploads always attempt to send to the storage node rather than the primary server. The only way to stop this behavior is to disable the nodes.

    I’ve tried creating a new storage node with 1.0.1, both with the upgraded server and a totally fresh server (no imported db config) The same thing happens.
    I did also notice that downloads come from the Storage node first rather than the primary server.

    I can see this perhaps being intentional to reduce load on the primary server in larger environments, but my ‘issue’ is that the push doesn’t even successfully complete (I’m getting an RNFR error when it’s trying to move the file from dev I assume). Even IF that were sorted out, having it go to the SN instead of primary causes further problems because they’re set to sync from the primary.

    I have tried changing the setting for ‘master node’ to enabled on primary and either SN, as well as totally disabled across all. Nothing changes.

    This isn’t a total show-stopper for me, but losing storage nodes will be depressing.

    Thank you Tom and all the other devs for your time both in addressing this, and simply dedicating so much of your lives to this project. I can’t even begin to measure the amount of time it’s saved me over the last 3-4 years I’ve used it.



  • Thanks for the quick feedback guys. Sorry I’m so delayed in responding, I’d already returned my test VM’s to snapshots and just hadn’t been able to return to this until yesterday.
    1.1 seems to have resolved the issue for me. The nodes now behave as expected with regard to the ‘master’ setting. I’m hoping that this is something that was fixed in 1.1 and I’m not just losing my mind…

    One other slight problem I’m seeing now:

    The disk information does not display for the SN. It does work correctly for the default member.
    If i click just below the ‘Failed to connect to’ text, I’m brought to a hardware info page which does contain the file system information I’d expect to see on the chart.


  • Senior Developer

    [quote=“Mike M., post: 28806, member: 24430”]I’ve been running .32 with 2 storage nodes for several years without difficulty. All based on Ubuntu 12.04.

    I’m finding that having upgraded the primary server to 1.0.1, uploads always attempt to send to the storage node rather than the primary server. The only way to stop this behavior is to disable the nodes.

    I’ve tried creating a new storage node with 1.0.1, both with the upgraded server and a totally fresh server (no imported db config) The same thing happens.
    I did also notice that downloads come from the Storage node first rather than the primary server.

    I can see this perhaps being intentional to reduce load on the primary server in larger environments, but my ‘issue’ is that the push doesn’t even successfully complete (I’m getting an RNFR error when it’s trying to move the file from dev I assume). Even IF that were sorted out, having it go to the SN instead of primary causes further problems because they’re set to sync from the primary.

    I have tried changing the setting for ‘master node’ to enabled on primary and either SN, as well as totally disabled across all. Nothing changes.

    This isn’t a total show-stopper for me, but losing storage nodes will be depressing.

    Thank you Tom and all the other devs for your time both in addressing this, and simply dedicating so much of your lives to this project. I can’t even begin to measure the amount of time it’s saved me over the last 3-4 years I’ve used it.[/quote]

    I’ll try to take a look at the code behind this today. If you’re interested, the file that deals with the “uploads” of the images is in:
    /var/www/{fogwebdir}/service/Post_Stage2.php

    That being said the code base that deals with the transfer of the files is:
    [php] foreach ($StorageNodes AS $StorageNode)
    {
    if ($StorageNode->get(‘isMaster’))
    {
    // Set the src based on the image and node path.
    $src = $StorageNode->get(‘path’).’/dev/’.$macftp;
    // XP only, typically, had one part so only need the file part.
    if ($_REQUEST[‘osid’] == ‘1’ && $_REQUEST[‘imgtype’] == ‘n’)
    $src = $StorageNode->get(‘path’).’/dev/’.$macftp.’/’.$macftp.’.000’;
    // Where is it going?
    $dest = $StorageNode->get(‘path’).’/’.$REQUEST[‘to’];
    //Attempt transfer of image file to Storage Node
    $ftp->set(‘host’,$StorageNode->get(‘ip’))
    ->set(‘username’,$StorageNode->get(‘user’))
    ->set(‘password’,$StorageNode->get(‘pass’));
    if (!$ftp->connect())
    throw new Exception(
    (‘Storage Node: ‘.$StorageNode->get(‘ip’).’ FTP Connection has failed!’));
    // Try to delete the file. Doesn’t hurt anything if it doesn’t delete anything.
    $ftp->delete($dest);
    if ($ftp->rename($dest,$src)||$ftp->put($dest,$src))
    ($REQUEST[‘osid’] == ‘1’ ? $ftp->delete($StorageNode->get(‘path’).’/dev/’.$macftp) : null);
    else
    throw new Exception(
    (‘Move/rename failed.’));
    $ftp->close();
    }
    }[/php]

    It should ONLY be trying to send to a storage node that is the Master of that group.


  • Developer

    Check [url]http://<fogserverip>/fog/management/index.php?node=about&sub=log[/url]

    Change File to replicator and Hit refresh. Paste log files. This may help.

    For example:
    [CODE][06-02-14 5:26:00 pm] * Starting Image Replication.
    [06-02-14 5:26:00 pm] * We are group ID: #1
    [06-02-14 5:26:00 pm] * We have node ID: #1
    [06-02-14 5:26:00 pm] * Found: 2 other member(s).
    [06-02-14 5:26:00 pm]
    [06-02-14 5:26:00 pm] * My root: /images
    [06-02-14 5:26:00 pm] * Starting Sync.
    [06-02-14 5:26:00 pm] * Syncing: MC Server
    [06-02-14 5:26:00 pm] * SubProcess -> Mirroring directory `DellD610’

    [06-02-14 5:26:00 pm] * SubProcess ->
    [06-02-14 5:26:00 pm] * SubProcess -> Complete
    [06-02-14 5:26:00 pm] * Syncing: Tech Windows Svr
    [06-02-14 5:26:00 pm] * SubProcess -> Mirroring directory `DellD610’

    [06-02-14 5:26:00 pm] * SubProcess ->
    [06-02-14 5:26:00 pm] * SubProcess -> Complete
    [/CODE]



  • Bump.


Log in to reply
 

438
Online

38951
Users

10701
Topics

101537
Posts

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.