Index  | Recent Threads  | Unanswered Threads  | Who's Active  | Guidelines  | Search
 

Quick Go »
No member browsing this thread
Thread Status: Active
Total posts in this thread: 24
Posts: 24   Pages: 3   [ 1 2 3 | Next Page ]
[ Jump to Last Post ]
Post new Thread
Author
Previous Thread This topic has been viewed 5182 times and has 23 replies Next Thread
hchc
Veteran Cruncher
USA
Joined: Aug 15, 2006
Post Count: 865
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Linux Upgrade: Best Practices to Preserve Device ID?

I'm still a Linux beginner. Currently I have a dedicated crunchbox running off a 16 GB USB flash drive with Debian 9 (Stretch) on it. Debian 10 (Buster) just officially released this month, and I'm considering upgrading to the current stable version.

Instead of upgrading in place, I'd like to do a complete reinstall, but my concern is I do not want to have WCG recognize the new install as foreign and thus generate a new Device ID, losing years of history. What steps should I take to ensure this does not happen?

I'm thinking:

1. Allow all assigned tasks to complete so the queue is empty. (Select "No new tasks" button.)
2. Allow all tasks for this device in Results Status to disappear after a few days. (Overkill? Not necessary?)
3. Copy the entire "BOINC" data directory. I believe it might be located in /var/lib/boinc-client/ but will have to double-check. I'll either SFTP in from a Windows box and copy everything off, or I'll SSH in and copy the directory to a separate USB flash drive. Any noobie tips as far as permissions go? Will I have to SFTP in as root? It might be easier to just use SSH and a second USB flash drive.
4. Perform a clean install of Debian 10 (Buster).
5. Copy the BOINC data directory first? Then install boinc-client? Or should I install boinc-client then copy the BOINC data directory?

My biggest concern -- since WCG still does not expose the ability to merge duplicate Device IDs or delete Device IDs with blank results -- is that it will generate a new ID, and I want to do everything perfectly to prevent that.

Thanks!
----------------------------------------
  • i5-7500 (Kaby Lake, 4C/4T) @ 3.4 GHz
  • i5-4590 (Haswell, 4C/4T) @ 3.3 GHz
  • i5-3570 (Broadwell, 4C/4T) @ 3.4 GHz

[Jul 23, 2019 10:24:09 PM]   Link   Report threatening or abusive post: please login first  Go to top 
Sgt.Joe
Ace Cruncher
USA
Joined: Jul 4, 2006
Post Count: 7846
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: Linux Upgrade: Best Practices to Preserve Device ID?

I don't know if this is going to be helpful or not, but here goes. I have three systems running off of 16gb flash drives using Linux Mint. A little while back I had a power outage and it corrupted the drives. I re-imaged the drives and re-installed BOINC and re-attached to WCG. I thought it would give me three entirely new Device ID's. It did not. I have exactly the same device ID's as I did before. I do not know exactly how this works, but that is my experience. I have not had the same experience with Windows in years past. Perhaps one of the techs or somebody more knowledgeable could chime in and provide more detail and the basis for why this worked the way it did.
Cheers
----------------------------------------
Sgt. Joe
*Minnesota Crunchers*
[Jul 23, 2019 10:37:54 PM]   Link   Report threatening or abusive post: please login first  Go to top 
hchc
Veteran Cruncher
USA
Joined: Aug 15, 2006
Post Count: 865
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: Linux Upgrade: Best Practices to Preserve Device ID?

Thanks, Sgt. Joe.

WCG has a non-standard process. From https://boinc.berkeley.edu/wiki/Host_identification_and_merging

Alternate identification method at World Community Grid

WCG uses a different method to recognize existing devices to prevent duplicate registrations. The server compares the following host information:

user name (network name of host)
domain_name (The default on Windows is "WORKGROUP")
ip_addr (the ip of the client on the local network)
operating system name
processor vendor
memory

The most recent record that matches these attributes (if found) will be re-used. It will cancel any results currently assigned to the client, and then issue new work. This is because a user might be trying to clear out some work that was causing some form of trouble. If any of this information is hidden through for instance setting the <suppress_net_info> flag in the cc_config.xml file suppressing the IP address or domain_name, the method fails and will create a new device registration.


So I guess you gave all 3 of your machines the same host name, and you re-imaged with the same version of Linux Mint, so when they first contacted the WCG server, they all matched.

Since I'm upgrading from version 9.9 to 10.0, WCG will treat it as a new device unless I make sure that the BOINC data directory is there first, especially the client_state.xml file.

I guess my biggest unknown at this point as a Linux beginner is how permissions work, since the directory is currently owned by BOINC:BOINC I think and wanted to make sure the "transplant" isn't rejected by the new host (haha).
----------------------------------------
  • i5-7500 (Kaby Lake, 4C/4T) @ 3.4 GHz
  • i5-4590 (Haswell, 4C/4T) @ 3.3 GHz
  • i5-3570 (Broadwell, 4C/4T) @ 3.4 GHz

----------------------------------------
[Edit 1 times, last edit by hchc at Jul 23, 2019 10:47:00 PM]
[Jul 23, 2019 10:46:27 PM]   Link   Report threatening or abusive post: please login first  Go to top 
adriverhoef
Master Cruncher
The Netherlands
Joined: Apr 3, 2009
Post Count: 2346
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: Linux Upgrade: Best Practices to Preserve Device ID?

I guess my biggest unknown at this point as a Linux beginner is how permissions work, since the directory is currently owned by BOINC:BOINC I think and wanted to make sure the "transplant" isn't rejected by the new host (haha).


I think I would use tar to make a backup - as superuser, of course - like this:
# cd ~boinc && time tar cf /BACKUP/boinc.txz .
This will probably take about half a minute.


After the installation of boinc-client on the new host, restore the backup there:
# cd ~boinc && time tar xf /BACKUP/boinc.txz
This will maybe take about fifteen seconds.


Note the use of a symbolic name - '/BACKUP' - to indicate a directory where the backup will be stored. You might need to copy the backup from the old host to the new host in some way in order to be able to restore the backup. Copying the backup to a flash drive could be an idea, you will probably need half a gigabyte of free space (or maybe 1 GB if you have lots and lots of files looking like wcgrid_*-pc-linux-gnu).
[Jul 24, 2019 1:28:24 AM]   Link   Report threatening or abusive post: please login first  Go to top 
hchc
Veteran Cruncher
USA
Joined: Aug 15, 2006
Post Count: 865
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: Linux Upgrade: Best Practices to Preserve Device ID?

I decided to be conservative and first do an in-place upgrade -- that way the WCG server recognizes the existing Device ID with the new OS string so that when I do a clean install, it should help recognize it as a match. After the reboot, any tasks errored out, and I think it's because of permissions.

ls -ail the /var/lib/boinc-client directory gives me most files owned by boinc:boinc; however, several files are owned by root:root.

How do I change this so that everything in that directory is owned by boinc:boinc? Definitely a beginner question. Thanks.

Edited to add: I did sudo chown -R boinc:boinc * and it changed everything recursively to boinc:boinc, and then I restarted the boinc-client service via sudo service boinc-client stop and start but still getting the "Computation error" for new tasks downloaded.

I'm doing sudo apt-get remove boinc-client followed by a reboot followed by sudo apt-get install boinc-client to see if that works.

Edit 2: That failed as well.

Error message from Event Log:
7/25/2019 10:34:58 AM | World Community Grid | Output file SCC1_0003313_OPN-b_A_88066_0_r472118361_0 for task SCC1_0003313_OPN-b_A_88066_0 absent


Error message from Results Status:
<core_client_version>7.14.2</core_client_version>
<![CDATA[
<message>
process got signal 11</message>
<stderr_txt>
SIGSEGV: segmentation violation

</stderr_txt>
]]>

----------------------------------------
  • i5-7500 (Kaby Lake, 4C/4T) @ 3.4 GHz
  • i5-4590 (Haswell, 4C/4T) @ 3.3 GHz
  • i5-3570 (Broadwell, 4C/4T) @ 3.4 GHz

----------------------------------------
[Edit 3 times, last edit by hchc at Jul 25, 2019 2:42:34 PM]
[Jul 25, 2019 2:23:07 PM]   Link   Report threatening or abusive post: please login first  Go to top 
adriverhoef
Master Cruncher
The Netherlands
Joined: Apr 3, 2009
Post Count: 2346
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: Linux Upgrade: Best Practices to Preserve Device ID?

Edited to add: I did sudo chown -R boinc:boinc * and it changed everything recursively to boinc:boinc, and then I restarted the boinc-client service via sudo service boinc-client stop and start but still getting the "Computation error" for new tasks downloaded.


Could you do:
sudo ls -lRa ~boinc | grep root
If everything's alright, you'd only get one line of output:
drwxr-xr-x.  55 root  root      4096 Mar 10 19:36 ..
That's the parent directory of ~boinc, probably /var/lib. On my system (Fedora 29) I see this:
$ ls -ld ~boinc ~boinc/..
drwxr-xr-x. 6 boinc boinc 4096 Jul 25 17:23 /var/lib/boinc
drwxr-xr-x. 55 root root 4096 Mar 10 19:36 /var/lib/boinc/..

If not OK, first do:
sudo service boinc-client stop
then do
sudo chown -R boinc:boinc ~boinc

Next, start the service again:
sudo service boinc-client start

[Jul 25, 2019 3:26:41 PM]   Link   Report threatening or abusive post: please login first  Go to top 
hchc
Veteran Cruncher
USA
Joined: Aug 15, 2006
Post Count: 865
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: Linux Upgrade: Best Practices to Preserve Device ID?

Humph, did all that and also chown'd / etc /boinc-client to boinc:boinc just to be sure, but still getting the same error message on all new tasks.

I might try deleting the /projects and /slots directories next.
----------------------------------------
  • i5-7500 (Kaby Lake, 4C/4T) @ 3.4 GHz
  • i5-4590 (Haswell, 4C/4T) @ 3.3 GHz
  • i5-3570 (Broadwell, 4C/4T) @ 3.4 GHz

[Jul 25, 2019 3:42:37 PM]   Link   Report threatening or abusive post: please login first  Go to top 
adriverhoef
Master Cruncher
The Netherlands
Joined: Apr 3, 2009
Post Count: 2346
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: Linux Upgrade: Best Practices to Preserve Device ID?

What does
sudo ls -lRa ~boinc | grep -v boinc | sort -u
tell?
And what about
sudo ls -lRa ~boinc | grep -v ^.rw | grep -v :$ | sort -u

----------------------------------------
[Edit 1 times, last edit by adriverhoef at Jul 25, 2019 4:02:29 PM]
[Jul 25, 2019 3:59:11 PM]   Link   Report threatening or abusive post: please login first  Go to top 
hchc
Veteran Cruncher
USA
Joined: Aug 15, 2006
Post Count: 865
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: Linux Upgrade: Best Practices to Preserve Device ID?

sudo ls -lRa ~boinc | grep -v boinc | sort -u gives:
drwxr-xr-x 29 root root 4096 Jul 25 10:31 ..
total 12
total 1548
total 20
total 24
total 288096
total 8


sudo ls -lRa ~boinc | grep -v ^.rw | grep -v :$ | sort -u gives:
total 12
total 1548
total 20
total 24
total 288096
total 8

----------------------------------------
  • i5-7500 (Kaby Lake, 4C/4T) @ 3.4 GHz
  • i5-4590 (Haswell, 4C/4T) @ 3.3 GHz
  • i5-3570 (Broadwell, 4C/4T) @ 3.4 GHz

[Jul 25, 2019 4:10:26 PM]   Link   Report threatening or abusive post: please login first  Go to top 
daka
Advanced Cruncher
Sweden
Joined: Apr 4, 2017
Post Count: 92
Status: Offline
Project Badges:
Reply to this Post  Reply with Quote 
Re: Linux Upgrade: Best Practices to Preserve Device ID?

Error message from Event Log:
7/25/2019 10:34:58 AM | World Community Grid | Output file SCC1_0003313_OPN-b_A_88066_0_r472118361_0 for task SCC1_0003313_OPN-b_A_88066_0 absent


Error message from Results Status:
<core_client_version>7.14.2</core_client_version>
<![CDATA[
<message>
process got signal 11</message>
<stderr_txt>
SIGSEGV: segmentation violation

</stderr_txt>
]]>


SIGSEGV: segmentation violation probably means you are now running a newer kernel that by default isn't compatible with older applications. The easiest way to sort this out is by adding vsyscall=emulate to your kernel cmdline and rebooting.

Since you are running Debian this is accomplished by editing /etc/default/grub and changing the line
GRUB_CMDLINE_LINUX_DEFAULT="quiet"

to
GRUB_CMDLINE_LINUX_DEFAULT="quiet vsyscall=emulate"

after that you need to run
sudo update-grub

and then reboot.
----------------------------------------
2 x i5-5300U @ 2.7GHz (2 x 2c4t, 40W power usage total)
46 x i5-5200U @ 2.5GHz (46 x 2c4t, 920W power usage total)
Not running currently:
96 x i5-7200U @ 3.1GHz (96 x 2c4t, 2400W power usage total)

[Jul 25, 2019 4:33:50 PM]   Link   Report threatening or abusive post: please login first  Go to top 
Posts: 24   Pages: 3   [ 1 2 3 | Next Page ]
[ Jump to Last Post ]
Post new Thread