Package servers not downloading packages due to insufficient disk space

book

Article ID: 159242

calendar_today

Updated On:

Products

Management Platform (Formerly known as Notification Server)

Issue/Introduction

One or more package servers are no longer downloading packages for delivery to agents. Insufficient drive space available to copy files.

Resolution

Any of the following will solve this issue

  • Adding additional drive space to the drive that Symantec management Agent is installed to
  • Moving the package delivery folder to a different drive with more space.
  • Deleting unused packages freeing up sufficient space for new packages.

Each is covered below:

Adding additional space can often be accomplished by any of the following.

  • If the Package server is on a VM, then simply increasing the size of the hard drive assigned.
  • Use the OS tools to add logical drive space by appending space from another physical drive. (Spanning)
  • Image the drive and restore the image to a large drive.

Moving the package delivery folder to a different drive.

  • Prior to 8.0 this involves uninstalling the Symantec management agent and installing it to the drive you wish to use.
    • The Software Delivery folder can be copied out of the Altiris folder structure prior to uninstall, then copied back after the reinstall to save on the bandwidth of re-downloading the packages.
  • Starting with 8.0 the primary file storage location can be controlled from the Package Server Settings page in the console.
    • Settings > Notification Server Setting > Site Server Settings >Package Service > Package Server Settings

Deleting unused packages.

  • Unused files can be manually deleted from the Package Delivery folder on the package server.
    • NOTE: If any policies reference the package the Package server will repopulate the files.
  • Internal policies can delete the files automatically.
    • Ensure the "Delete Package Files if they are unused for" setting is set to a short interval.
      • NOTE: Do not set it to 0 (zero) or all packages will be deleted, even those still in use forcing the package server to re-download them.
    • Disable all policies that reference the package. then after a few days delete the policy.
    • After the countdown completes the package will be marked for deletion.
    • After the Package is marked for deletion the countdown cycles again before the package is deleted.
      • NOTE: If at any point a policy referencing the package is enabled, or a previously dormant agent requests the package, the countdown timer resets and the process begins all over.

The following SQL query may be useful to search for names of package servers that are low on or out of disk space:

SELECT c.Name as 'Computer Name'
,ld.Name 'Drive'
,cast (round (ld.[Free Space (Bytes)] / cast (1073741824 as float), 2) as nvarchar (50)) + ' GB' as 'Available'
,cast (ld.[Size (Bytes)] / 1073741824 as nvarchar (100)) + ' GB' 'Disk Size'
,cast (round (cast (ld.[Free Space (Bytes)] as float) / cast (ld.[Size (Bytes)] as float), 2) * 100 as nvarchar (10)) + '%' as 'Free space'
,cast (pr.[Percent Ready] as nvarchar (50)) + '%' as 'Percent Ready'
from  Inv_HW_Logical_Disk ld
join ResourceAssociation ps on ps.ChildResourceGuid = ld._ResourceGuid
and ps.ResourceAssociationTypeGuid = '5F00E96B-93F3-41F0-94A7-7DBBB8AEF841'
join vPackageServiceResource prs on prs.Guid = ps.ParentResourceGuid
join vRM_Computer_Item c on c.Guid = ps.ChildResourceGuid
join
(
select
sp.PkgSvrId
,round (cast ((CASE WHEN count (case when sp.status <> 'Ready' then 1 ELSE 0 end) = 0 then 1 else count (case when sp.status = 'Ready' then 1 end) end) as float) / cast (COUNT (sp.Status) as float) * 100 ,1)  as [Percent Ready]
from SWDPackageServer sp
join ResourceAssociation ra on ra.ChildResourceGuid = sp.PkgSvrId
and ra.ResourceAssociationTypeGuid = '5F00E96B-93F3-41F0-94A7-7DBBB8AEF841'--Site Service To Computer
join vRM_PackageService ps on ps.Guid = ra.ParentResourceGuid
group by sp.PkgSvrId
) pr on pr.PkgSvrId = c.Guid
where ld.[Logical Disk Type] in (3, 4)
and [Free Space (Bytes)] is not null
and pr.[Percent Ready] < 100
group by c.Name, ld.[Free Space (Bytes)], ld.[Size (Bytes)], ld.Name, pr.[Percent Ready]
having ld.[Free Space (Bytes)] < 1073741824 or cast (ld.[Free Space (Bytes)] as float) / cast (ld.[Size (Bytes)] as float) < .05