I too have lots of drives still in active service after the 5yr mark, the oldest being some 3TB greens and reds in an old RAID array; I don't generally cycle stuff out at home unless I need to - if it ain't broke, don't fix it. Of course, it depends a lot on what your future plans for the array might be, whether you need more space, or are able to add more spindles, or want the same space on fewer spindles, or any one of a hundred other reasons.
There's not really any way of knowing how much life is left in any particular drive; sometimes you'll start getting SMART errors or ominous grinding or clicking noises, sometimes the drive will just suddenly drop dead with no warning at all (and bathtub curves being what they are this can happen to both old and new drives alike).
If you want to make sure you're better prepared for drive failures when they do crop up here's some points to consider:
- Make sure SMART monitoring and regular self-tests are run, as well as ZFS scrubs. Not a guarantee of detecting anything but gives you a better chance of detecting something
- Semi-regular performance checks; some drives that are failing do so in such a way that they start performing poorly before reporting any errors, so if your RAID array slows down it might just be a particular drive that's causing it. One easy way to do this is to monitor the discs in iostat or similar during activities like a scrub or a RAID rebuild to see if any one disc is noticeably busier than the others.
- Better backups, especially if you've already got a budget for hardware replacement. Personally I run a backup server at home which mirrors my primary server as well as offsite copies. Generally speaking I would advise people to spend their money on backups first and RAID second.
- Have a long hard think about your drive topology - if you can afford extra drives, consider switching to using mirrors (ZFS' RAID10 equivalent) instead of RAIDZ2, or reducing the amount of drives in each RAIDZ2 vdev (depends on what you have already of course).
- Keep a spare drive home so you can replace any failed or failing drives immediately, minimising the amount of time the array is in a degraded state.