Often I move the MySQL server by copying an entire directory to new server and replace DATADIR on new MySQL instance, i do that on MySQL offline then only start MySQL server and everything is ok. Can i do that with migrate from MySQL to Percona Server or i must do dumps then restore them? If i have MySQL 5.1 and i want move to Percona Server 5.5 i should upgrade MySQL 5.1 to 5.5 then to Percona Server 5.5?
MySQL and Percona are binary compatible as long as the few Percona-only options are not used, which are disabled by default. So given that, you would be able to move the data directory between a MySQL and Percona server as you would between two vanilla MySQL servers.
However, when migrating from MySQL (or Percona) 5.1 to 5.5, it is recommended that you do a logical dump (mysqldump) of your 5.1 database and import it into a fresh install of MySQL (or Percona) 5.5. This is the cleanest method of migration. So in your case, I would simply do a mysqldump of your vanilla MySQL 5.1 instance, and then import the dump into a fresh Percona 5.5 instance.
The only caveat I know of with migrating from vanilla MySQL 5.1 to Percona 5.5 would be that if you were using the InnoDB plugin for 5.1, then you need to modify your config file to remove the below two lines (though I recommend building a new config file anyway for Percona 5.5, which is easy to do with a tool Percona provides on their website: https://tools.percona.com/wizard ):
ignore-builtin-innodb # <- DELETE
plugin-load=innodb=ha_innodb_plugin.so # <- DELETE
This is all outlined in a document from Percona, which I strongly suggest that you read prior to attempting the migration: